Radxa

OpenCV 4.2.0 Install On Radxa Zero [C++ ]

박민혀기 2023. 7. 19. 15:45

이전에 OpenCV를 설치한 적이 없다는 가정하에 진행!!

만약 설치한 경우 기존에 설치 된 OpenCV를 제거 후 진행 바람.

 

1.기본적인 업데이트 후 재부팅! (필수)

sudo apt update 
sudo apt upgrade
sudo reboot

 

2. OpenCV에 필요한 패키지, 라이브러리, 컴파일러 설치

(2023.07.19) RPi, Radxa 테스트 결과 아래 설치 패키지들 중 "libjasper-dev"에서 요류 발생하여 제거함

 

apt install build-essential cmake

apt install libjpeg-dev libtiff5-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

 

3.OpenCV 소스코드, OpenCV Extra Modules 설치

3-1. OpenCV 폴더 생성, 열기

mkdir opencv
cd opencv

 

3-2. OpenCV, OpenCV Extra Modules 소스코드 다운로드 및 압축해제

$ wget -O opencv.zip https://github.com/opencv/opencv/archive/4.2.0.zip
$ unzip opencv.zip

$ wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.2.0.zip
$ unzip opencv_contrib.zip

Build 폴더 생성후 입장

$ cd opencv-4.2.0
$ mkdir build
$ cd build

 

3-3. 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 WITH_QT=OFF \
-D WITH_GTK=ON \
-D WITH_OPENGL=ON \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.2.0/modules \
-D WITH_V4L=ON  \
-D WITH_FFMPEG=ON \
-D WITH_XINE=ON \
-D BUILD_NEW_PYTHON_SUPPORT=ON \
-D OPENCV_GENERATE_PKGCONFIG=ON ../

에러가 나는 경우 한줄로 바꾼 다음 명령을 사용하세요. 

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 WITH_QT=OFF -D WITH_GTK=ON -D WITH_OPENGL=ON -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.2.0/modules -D WITH_V4L=ON  -D WITH_FFMPEG=ON -D WITH_XINE=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D OPENCV_GENERATE_PKGCONFIG=ON ../

 

아래와 같은 결과가 나오면 정상적!!

 

컴파일을 시작하기 전에 사용 중인 컴퓨터의 CPU 코어수를 확인합니다.

$ cat /proc/cpuinfo | grep processor | wc -l

 

컴파일!!

4대신 보드의 코어수를 넣으면 된다.

$ time make -j4

 

3-4. 이제 컴파일 결과물을 설치합니다.

sudo make install
sudo ldconfig

 

완료!!

$ g++ -o facedetect /usr/local/share/opencv4/samples/cpp/facedetect.cpp $(pkg-config opencv4 --libs --cflags)