박민혀기
RaspiberryPi(CM4)에 OpenCV 4.5.1 Install [C++ 환경] 본문
2022.09.05 최초작성
1. 기존에 설치 된 OpenCV 제거
pkg-config --modversion opencv
1-2. 아래 메시지가 나오면 2단계 진행
Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found
1-3.아래 메시지가 나오면 1-4단계 진행
2.4.9.1 <--- OpenCV 버전
1-4. OpenCV(라이브러리, 패키지) Uninstall
sudo apt-get purge libopencv* python-opencv
sudo apt-get autoremove
1-5. OpenCV Uninstall
sudo find /usr/local/ -name "*opencv*" -exec rm {} \;
2.기본적인 업데이트 후 재부팅! (필수)
sudo apt update
sudo apt upgrade (upgrade는 안하는걸 추천)
sudo reboot
3. OpenCV에 필요한 패키지, 라이브러리, 컴파일러 설치
apt install build-essential cmake
apt install libjpeg-dev libtiff5-dev libjasper-dev libpng-dev
apt install libavcodec-dev libavformat-dev libswscale-dev libxvidcore-dev libx264-dev libxine2-dev
apt install libv4l-dev v4l-utils
apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly
apt install libgtk2.0-dev
apt install mesa-utils libgl1-mesa-dri libgtkgl2.0-dev libgtkglext1-dev
apt install libatlas-base-dev gfortran libeigen3-dev
apt install python3-dev python3-numpy (에러 발생시 sudo apt-get dist-upgrade 실행 후 다시 입력)
&&명령 이용하여 한 번에 실행 Test (복붙)
apt install build-essential cmake -y && apt install libjpeg-dev libtiff5-dev libpng-dev -y && apt install libavcodec-dev libavformat-dev libswscale-dev libxvidcore-dev libx264-dev libxine2-dev -y && apt install libv4l-dev v4l-utils -y && apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly -y && apt install libgtk2.0-dev -y && apt install mesa-utils libgl1-mesa-dri libgtkgl2.0-dev libgtkglext1-dev -y && apt install libatlas-base-dev gfortran libeigen3-dev -y && apt install python3-dev python3-numpy -y
4.OpenCV 소스코드, OpenCV Extra Modules 설치
4-1. OpenCV 폴더 생성, 열기
mkdir opencv
cd opencv
4-2. OpenCV, OpenCV Extra Modules 소스코드 다운로드 및 압축해제
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.5.1.zip
unzip opencv.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.5.1.zip
unzip opencv_contrib.zip
&&명령 이용하여 한 번에 실행 Test (복붙)
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.5.1.zip && unzip opencv.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.5.1.zip && unzip opencv_contrib.zip
4-3. 빌드 할 디렉터리 생성
cd opencv-4.5.1
mkdir build
cd build
4-4. cmake를 사용하여 OpenCV 컴파일 설정
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=OFF -D WITH_IPP=OFF -D WITH_1394=OFF -D BUILD_WITH_DEBUG_INFO=OFF -D BUILD_DOCS=OFF -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D ENABLE_NEON=ON -D ENABLE_VFPV3=ON -D WITH_QT=OFF -D WITH_GTK=ON -D WITH_OPENGL=ON -D OPENCV_ENABLE_NONFREE=ON -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.5.1/modules -D WITH_V4L=ON -D WITH_FFMPEG=ON -D WITH_XINE=ON -D ENABLE_PRECOMPILED_HEADERS=OFF -D BUILD_NEW_PYTHON_SUPPORT=ON -D OPENCV_GENERATE_PKGCONFIG=ON ../
(복붙..!, 만약 에러시 설치한 OpenCV 버전과 cmake 명령어에 있는 버전 일치 확인)
4-5. 스압영역 지정
nano /etc/dphys-swapfile
CONF_SWAPSIZE=100 이부분을
CONF_SWAPSIZE=2048 로 수정
free
sudo /etc/init.d/dphys-swapfile restart
free
2097148 정도로 스압영역이 늘어난걸 확인!
4-6. 컴파일!!!
time make -j4 (-j4 => 4코어 cpu)
*혹, python 라이브러리 빌드하는 부분에서 다음처럼 오랫동안 멈춤 현상이 있는 경우 . Ctrl + C를 눌러 중지하고 make 명령어만 실행
4-7. 이제 컴파일 결과물을 설치합니다.
sudo make install
4-8. opencv 라이브러리를 찾을 수 있도록 다음 명령을 실행합니다.
sudo ldconfig
nano /etc/dphys-swapfile
CONF_SWAPSIZE=100
sudo /etc/init.d/dphys-swapfile restart
free
OpenCV 설치가 끝났고 컴파이 테스트 확인
g++ -o facedetect /usr/local/share/opencv4/samples/cpp/facedetect.cpp $(pkg-config opencv4 --libs --cflags)아무 에러가 없이 실행 파일(facedetect)이 생성되면 정상적으로 설치 된 것
'Raspiberry Pi' 카테고리의 다른 글
라즈베리파이 Rotate HDMI(Monitor), Rotate Touchscreen (0) | 2023.01.21 |
---|---|
라즈베리파이 WiringPi Install (0) | 2022.12.27 |
리눅스 부팅 후 자동 실행 AUTOSTART(2022년 10월 24일) (0) | 2022.10.24 |
RaspiberryPi 확장 보드 CELLON Circuit(보관 주의!) (0) | 2022.10.10 |
RaspiberryPi(CM4) OS설치 (0) | 2022.09.10 |