jetson Orin Nano 보드 opencv 설치

일반설치

OpenCV를 컴파일하지 않고 일반적으로 설치하려면, Jetson Orin Nano에서 **APT 패키지 관리자를 통해 사전 컴파일된 OpenCV 패키지**를 설치할 수 있습니다. NVIDIA는 Jetson 보드를 위해 최적화된 OpenCV 버전을 미리 제공하므로, 이 방법은 간편하고 시간을 절약할 수 있습니다.


1. 시스템 업데이트

설치를 시작하기 전에 시스템 패키지를 업데이트합니다.

sudo apt-get update
sudo apt-get upgrade

2. OpenCV 설치

Jetson Orin Nano는 JetPack SDK에 OpenCV가 포함되어 있으므로, 패키지 관리자를 통해 설치할 수 있습니다.

Python 3용 OpenCV 설치

sudo apt-get install python3-opencv

설치 확인

Python에서 OpenCV가 정상적으로 설치되었는지 확인합니다.

python3 -c "import cv2; print(cv2.__version__)"

추가 확인 (GStreamer 지원)

python3 -c "import cv2; print(cv2.getBuildInformation())"
출력에 **GStreamer**가 포함되어 있으면 Jetson의 GStreamer 플러그인이 정상적으로 활성화된 것입니다.


3. 설치된 OpenCV 버전 확인

APT를 통해 설치된 OpenCV의 버전을 확인하려면 다음 명령을 사용합니다.

dpkg -l | grep libopencv

4. OpenCV와 CUDA 가속 여부 확인

APT 패키지를 통해 설치된 OpenCV는 Jetson 환경에서 기본적으로 **CUDA 가속**을 지원합니다. 다음 명령으로 확인할 수 있습니다.

python3 -c "import cv2; print(cv2.getBuildInformation())"

출력에서 CUDA 항목이 **YES**로 표시되면 CUDA 가속이 활성화된 상태입니다.


5. 설치된 OpenCV 활용하기

APT로 설치한 OpenCV는 Python과 함께 바로 사용할 수 있습니다. 카메라 테스트와 같은 기본 작업을 실행하여 설치를 확인합니다.

간단한 카메라 테스트 코드:

import cv2

cap = cv2.VideoCapture(0)

if not cap.isOpened():
    print("카메라를 열 수 없습니다.")
    exit()

while True:
    ret, frame = cap.read()
    if not ret:
        print("프레임을 읽을 수 없습니다.")
        break

    cv2.imshow("Camera Feed", frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()

APT로 설치한 OpenCV의 장점

  1. 간단하고 빠름:
  2. 소스 컴파일 과정 없이 설치할 수 있어 시간이 절약됩니다.
  3. Jetson 환경에 최적화:
  4. NVIDIA가 제공하는 패키지는 기본적으로 CUDA 가속 및 GStreamer와 호환됩니다.

제한 사항

  • APT 패키지는 OpenCV의 최신 버전이 아닐 수 있습니다.
  • OpenCV에 포함되지 않은 일부 추가 모듈(OpenCV Contrib 모듈 등)은 사용이 제한될 수 있습니다.

사용자설치(재컴파일)

Jetson Orin Nano에서 OpenCV를 설치하는 방법은 Jetson Nano와 유사하지만, Jetson Orin Nano의 성능을 최적화하려면 NVIDIA의 **CUDA 가속**을 포함하도록 OpenCV를 빌드하는 것이 중요합니다. 아래는 Jetson Orin Nano에 OpenCV를 설치하는 단계별 가이드입니다.


1. Jetson Orin Nano 시스템 업데이트

Jetson Orin Nano를 최신 상태로 유지하기 위해 먼저 시스템을 업데이트합니다.

sudo apt-get update
sudo apt-get upgrade

2. 필수 패키지 설치

OpenCV 설치를 위해 필요한 필수 패키지를 설치합니다.

sudo apt-get install -y build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install -y python3-dev python3-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev
sudo apt-get install -y gstreamer1.0-tools libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

3. CUDA 및 cuDNN 확인

Jetson Orin Nano에는 CUDA와 cuDNN이 기본 설치되어 있습니다. 아래 명령으로 버전을 확인합니다.

nvcc --version

4. OpenCV 소스 코드 다운로드

OpenCV와 추가 모듈(OpenCV Contrib)을 GitHub에서 다운로드합니다.

cd ~
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git

5. CMake로 OpenCV 빌드 설정

빌드 디렉토리를 생성하고 OpenCV를 CUDA 지원으로 구성합니다.

cd ~/opencv
mkdir build
cd build

cmake \
  -D CMAKE_BUILD_TYPE=Release \
  -D CMAKE_INSTALL_PREFIX=/usr/local \
  -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
  -D WITH_CUDA=ON \
  -D ENABLE_FAST_MATH=1 \
  -D CUDA_FAST_MATH=1 \
  -D WITH_CUDNN=ON \
  -D OPENCV_DNN_CUDA=ON \
  -D BUILD_opencv_python3=ON \
  -D PYTHON3_EXECUTABLE=$(which python3) \
  -D BUILD_EXAMPLES=ON ..

6. OpenCV 빌드 및 설치

Jetson Orin Nano는 멀티코어 프로세서를 지원하므로 -j 옵션으로 빌드 속도를 높일 수 있습니다.

make -j$(nproc)
sudo make install
sudo ldconfig

7. 설치 확인

Python 환경에서 OpenCV가 정상적으로 설치되었는지 확인합니다.

python3 -c "import cv2; print(cv2.__version__)"

8. GStreamer 플러그인 활성화 (선택 사항)

Jetson Orin Nano에서 카메라와 GStreamer를 활용하려면 OpenCV가 GStreamer를 지원하는지 확인합니다.

python3 -c "import cv2; print(cv2.getBuildInformation())"

출력에 **GStreamer**가 포함되어 있으면 성공적으로 설치된 것입니다. 포함되어 있지 않다면 빌드 단계에서 -D WITH_GSTREAMER=ON을 추가하고 다시 빌드하세요.


9. CUDA 지원 확인 (선택 사항)

OpenCV가 CUDA를 지원하는지 확인하려면 다음 명령을 실행합니다.

python3 -c "import cv2; print(cv2.getBuildInformation())"

출력에 **CUDA YES**가 포함되어 있으면 CUDA 지원이 활성화된 상태입니다.


참고 사항

  1. OpenCV 빌드 및 설치는 시간이 오래 걸릴 수 있습니다. 설치 중 Jetson Orin Nano의 CPU와 메모리 사용량이 증가할 수 있습니다.
  2. Jetson Orin Nano는 높은 성능의 GPU를 제공하므로 CUDA 가속을 사용하는 OpenCV 애플리케이션에서 뛰어난 성능을 발휘합니다.