OpenCV자체의 용량이 매우 크기 때문에 16GB이상의 SD카드를 추천드립니다.
$ sudo apt-get purge wolfram-engine |
$ sudo apt-get purge libreoffice* |
$ sudo apt-get clean |
$ sudo apt-get autoremove |
위의 과정을 거치면 Wolfram Engine이 제거된다.
$ sudo apt-get install build-essential cmake |
$ sudo apt-get install pkg-config |
$ sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev |
$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libxvidcore-dev libx264-dev libxine2-dev |
$ sudo apt-get install libv4l-dev v4l-utils |
$ sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev |
$ sudo apt-get install libgtk2.0-dev |
$ sudo apt-get install mesa-utils libgl1-mesa-dri libgtkgl2.0-dev libgtkglext1-dev |
$ sudo apt-get install libatlas-base-dev gfortran libeigen3-dev |
$ sudo apt-get install python2.7-dev python3-dev python-numpy python3-numpy |
위의 라이브러리들을 모두 설치하면 기본적인 작업은 끝났다.
$ mkdir opencv |
$ cd opencv |
여기까지 진행했다면 디렉토리는 pi@raspberrypi:~/opencv $인 상태일 것이다. 아래 과정은 pi@raspberrypi:~/opencv $에서 진행한다.
$ wget -O opencv.zip https://github.com/opencv/opencv/archive/3.4.1.zip |
$ unzip opencv.zip |
$ wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/3.4.1.zip |
$ unzip opencv_contrib.zip |
$ cd opencv-3.4.1 |
$ mkdir build |
$ cd build |
이제 디렉토리는 ~/opencv/opencv-3.4.1/build $이다. 다음으로 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_EXTRA_MODULES_PATH=../../opencv_contrib-3.4.1/modules \
-D WITH_V4L=ON \
-D WITH_FFMPEG=ON \
-D WITH_XINE=ON \
-D BUILD_NEW_PYTHON_SUPPORT=ON \
-D PYTHON2_INCLUDE_DIR=/usr/include/python2.7 \
-D PYTHON2_NUMPY_INCLUDE_DIRS=/usr/lib/python2.7/dist-packages/numpy/core/include/ \
-D PYTHON2_PACKAGES_PATH=/usr/lib/python2.7/dist-packages \
-D PYTHON2_LIBRARY= /usr/lib/arm-linux-gnueabihf/libpython2.7.so \
-D PYTHON3_INCLUDE_DIR=/usr/include/python3.5m \
-D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include/ \
-D PYTHON3_PACKAGES_PATH=/usr/lib/python3.5/dist-packages \
-D PYTHON3_LIBRARY=/usr/lib/arm-linux-gnueabihf/libpython3.5m.so \
../
시간이 좀 걸린다. 컴파일 설정이 완료되면 바로 컴파일을 해도 무방하나 가끔 메모리 에러가 발생하는 경우가 있어 아래의 과정을 거친다.
$ sudo nano /etc/dphys-swapfile |
이제 nano편집기로 열린 파일에서 CONF_SWAPSIZE 값을 1024로 수정한다.
CONF_SWAPSIZE=1024 |
nano편집기를 닫고 아래 과정을 진행한다.
$ free |
$ sudo /etc/init.d/dphys-swapfile restart |
이제 컴파일을 한다. 여기선 발열 문제등을 고려해 코어 2개를 이용하는 j2 옵션을 사용했지만 쿨러등 여러가지 발열을 잡을 수있는 수단이 있으시면 j3나 j4로 하셔도 됩니다.
(참고로 이 상태의 디렉토리는 pi@raspberrypi:~/opencv/opencv-3.4.1/build $)
$ make -j2 |
$ sudo make install |
$ sudo make install 과정에서 98%완료 됬을때 상당 시간동안 멈춰있으므로 참고하자.
완료되면 몇가지를 확인하자, 우선 같은 디렉토리 상에서
$ cat /etc/ld.so.conf.d/* |
를 입력하면 아래와 같이 출력되는지 확인한다.
/opt/vc/lib # Multiarch support /lib/arm-linux-gnueabihf /usr/lib/arm-linux-gnueabihf /usr/lib/arm-linux-gnueabihf/libfakeroot # libc default configuration /usr/local/lib |
위와 같이 나오면 성공이다. Python에서 빌드가 완료됬는지 확인하는 방법은 아래를 참고하자
pi@raspberrypi:~/opencv/opencv-3.4.0/build $ python Python 2.7.13 (default, Nov 24 2017, 17:33:09) [GCC 6.3.0 20170516] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import cv2 >>> cv2.__version__ '3.4.1' >>>
pi@raspberrypi:~/opencv/opencv-3.4.0/build $ python3 Python 3.5.3 (default, Jan 19 2017, 14:11:04) [GCC 6.3.0 20170124] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import cv2 >>> cv2.__version__ '3.4.1' >>> |
참고 블로그 - https://diy-project.tistory.com/86
'라즈베리파이 > 기본설치' 카테고리의 다른 글
[라즈베리파이] 파이캠(라즈베리파이카메라) 기본설정 (0) | 2020.11.16 |
---|---|
라즈베리파이 3에 텐서플로우 설치(tensorflow) (0) | 2020.09.04 |
라즈베리파이3 텐서플로우 라이트(tenserflow lite) coral이용해서 설치 (0) | 2020.09.04 |
라즈베리파이 (라즈비안 예전파일 설치) (0) | 2020.08.27 |