on
Raspberry Pi 3 : OpenCV 설치 방법, 예제, 명령어
Raspberry Pi 3 : OpenCV 설치 방법, 예제, 명령어
반응형
OpenCV(Open Source Computer Vision Library)는 오픈 소스 컴퓨터 비전 라이브러리로 C++, Python 및 Java에 대한 바인딩이 있습니다. 의료 이미지 분석, 스트리트 뷰 이미지 연결, 보안 감시 비디오, 얼굴 감지 및 인식, 움직이는 물체 추적, 3D 모델 추출 등 매우 광범위한 애플리케이션에 사용됩니다.
OpenCV는 멀티 코어 프로세싱을 활용할 수 있으며 실시간 작업을 위한 GPU 가속 기능을 제공합니다.
OpenCV를 Rasberry Pi에 설치하는 방법을 설명합니다.
Raspberry Pi 3 : OpenCV 설치 방법, 예제, 명령어
필수 조건
라스베리 파이에 라스비언이 설치되어 있을 거라 추정합니다
Raspbian Repository 에서 OpenCV 를 설치
OpenCV Python 모듈은 표준 Raspbian 저장소에서 사용할 수 있습니다. 쓰기 시 저장소의 버전은 최신 버전이 아닌 3.2입니다.
OpenCV Python 모듈을 설치하려면 다음 명령을 실행합니다.
sudo apt update sudo apt install python3-opencv
위의 명령은 OpenCV를 실행하는 데 필요한 모든 패키지를 설치합니다.
설치를 확인하려면 cv2 모듈을 가져오고 OpenCV 버전을 인쇄하십시오.
python3 -c "import cv2; print(cv2.__version__)" # 3.2.0
OpenCV를 Python 2 바인딩과 함께 설치하려면 python-openCV 패키지를 설치합니다.
소스에서 OpenCV 를 설치
OpenCV를 설치하는 권장 방법은 소스에서 라이브러리를 빌드하는 것입니다. 이렇게 하면 빌드 옵션을 완벽하게 제어할 수 있으며 OpenCV가 시스템에 최적화됩니다.
먼저 스왑 공간을 늘려 메모리 문제로 인한 컴파일 중단을 방지합니다.
sudo nano /etc/dphys-swapfile
CONF_SWAPSIZE 값을 기본값 100에서 1024로 변경합니다.
# /etc/dphys-swapfile CONF_SWAPSIZE=1024
파일을 저장하고 다음 명령을 실행하여 변경 내용을 적용합니다.
sudo /etc/init.d/dphys-swapfile restart
이제 OpenCV 구축을 시작할 수 있습니다. 먼저 패키지 인덱스를 업데이트하고 빌드 도구 및 필수 종속성을 설치합니다.
sudo apt update sudo apt install build-essential cmake git pkg-config libgtk-3-dev "libcanberra-gtk*" sudo apt install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev sudo apt install libjpeg-dev libpng-dev libtiff-dev gfortran openexr libatlas-base-dev opencl-headers sudo apt install python3-dev python3-numpy libtbb2 libtbb-dev libdc1394-22-dev
빌드 디렉토리를 생성하고 해당 디렉토리로 이동하여 Github에서 OpenCV 및 OpenCV 기여 저장소를 복제합니다.
mkdir ~/opencv_build && cd ~/opencv_build git clone https://github.com/opencv/opencv.git git clone https://github.com/opencv/opencv_contrib.git
쓸 때 GitHub 저장소의 기본 버전은 버전 4.1.1입니다. 이전 버전의 OpenCV를 설치하려면 opencv 및 opencv_contribute 디렉토리로 이동하여 untit checkout 을 실행합니다.
저장소가 복제되면 임시 빌드 디렉토리를 생성하고 변경합니다.
mkdir -p ~/opencv_build/opencv/build && cd ~/opencv_build/opencv/build
cmake를 사용하여 OpenCV 빌드 구성을 설정합니다.
cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_C_EXAMPLES=OFF \ -D INSTALL_PYTHON_EXAMPLES=OFF \ -D OPENCV_GENERATE_PKGCONFIG=ON \ -D ENABLE_NEON=ON \ -D OPENCV_EXTRA_EXE_LINKER_FLAGS=-latomic \ -D ENABLE_VFPV3=ON \ -D BUILD_TESTS=OFF \ -D OPENCV_ENABLE_NONFREE=ON \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \ -D BUILD_EXAMPLES=OFF .. # ... # -- Configuring done # -- Generating done # -- Build files have been written to: /home/pi/opencv_build/opencv/build
make를 실행하여 컴파일 프로세스를 시작합니다.
이 과정은 라스베리 파이 모델에 따라 약 1 - 2시간이 소요됩니다. 리소스를 사용할 수 없어 컴파일에 실패하는 경우 make 명령을 다시 실행하면 프로세스가 중지된 위치부터 계속됩니다.
완료되면 다음과 같은 것을 볼 수 있습니다.
make -j4 # ... # [100%] Linking CXX shared module ../../lib/python3/cv2.cpython-35m-arm-linux-gnueabihf.so # [100%] Built target opencv_python3
마지막 단계는 컴파일된 OpenCV 파일을 설치하는 것입니다.
sudo make install # ... # -- Installing: /usr/local/bin/opencv_version # -- Set runtime path of "/usr/local/bin/opencv_version" to "/usr/local/lib"
OpenCV가 성공적으로 설치되었는지 확인하려면 다음 명령을 입력하면 OpenCV 버전이 표시됩니다.
C++ 라이브러리
pkg-config --modversion opencv4 # 4.1.1
파이썬 라이브러리
python3 -c "import cv2; print(cv2.__version__)" # 4.1.1-pre
정리
SD 카드에 사용 가능한 공간이 많지 않은 경우 소스 파일을 삭제합니다.
rm -rf ~/opencv_build
스왑 사용량이 많으면 SD 카드가 손상될 수 있습니다.
스왑 공간을 원래 크기로 다시 변경합니다.
CONF_SWAPSIZE 값을 100으로 편집합니다.
# /etc/dphys-swapfile CONF_SWAPSIZE=100
파일을 저장하고 변경 사항을 활성화합니다.
sudo /etc/init.d/dphys-swapfile restart
Rasberry Pi 보드에 OpenCV를 설치하는 방법을 보여드렸습니다. 소스로부터 OpenCV를 구축하면 더 많은 유연성을 얻을 수 있으므로 OpenCV를 설치할 때 이 옵션을 사용하는 것이 좋습니다.
반응형
from http://jjeongil.tistory.com/1631 by ccl(A) rewrite - 2021-10-21 08:02:01