darknet 설치하였을 때 에서 opencv관련 오류가 발생하는 경우가 있다.
그 경우 pip로 install 한 opencv가 인식되지 않는 것이므로 opencv를 컴퓨터에 빌드해 주어야한다.
// 2020/01/22 추가
sudo apt install python3-opencv
명령어를 통해 opencv를 우분투에 설치 가능(해당 명령어 이후, 해결이 안됬을 경우 밑에 과정 진행)
기본(Default) OpenCV 제거
Ubuntu 18.04에 기본으로 설치되어 있는 OpenCV를 제거한다.
sudo apt-get remove libopencv*
sudo apt-get autoremove
**만약 autoremove시 cuda관련 패키지가 같이 삭제된다고 나오는 경우 진행하지 않는 것을 추천(libopencv만 지워주자)**
Prerequisites 설치
Update & Upgrade
sudo apt-get update
sudo apt-get upgrade
개발자 도구 설치
build-essential : c/c++ 컴파일러와 관련 라이브러리, make 같은 도구들이 포함된다.
cmake : 컴파일 옵션이나 빌드된 라이브러리에 포함시킨다. (OpenCV 모듈 설정을 위해 필요하다.)
unzip : 압축을 풀기위해 필요하다.
pkg-config : 컴파일할 목적으로 설치된 라이브러리 조회하기 위해 설치한다. (나중에 설치가 되었는지 확인을 위해 설치)
###
sudo apt-get install build-essential cmake unzip pkg-config
libraries 설치
이미지 처리/컴퓨터 비전 라이브러리인 JPEG, PNG, TIFF 파일 형식 로드를 위해 이미지 I/O 패키지를 설치한다.
sudo apt-get install libjpeg-dev libpng-dev libtiff-dev
카메라 스트림으로 작업하고 비디오 파일을 처리 할 수 있도록 비디오 I/O 패키지를 설치한다.
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev v4l-utils libxvidcore-dev libx264-dev libxine2-dev
비디오 스트리밍을 위한 라이브러리를 설치한다.
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
OpenCV의 GUI 작업을 위해 GTK 라이브러리를 설치한다.
sudo apt-get install libgtk-3-dev
OpenGL을 지원하기 위한 라이브러리를 설치한다.
sudo apt-get install mesa-utils libgl1-mesa-dri libgtkgl2.0-dev libgtkglext1-dev
OpenCV 기능을 최적화 해주는 라이브러리를 설치한다.
sudo apt-get install libatlas-base-dev gfortran libeigen3-dev
Python 설치
Python 헤더와 라이브러리를 설치한다.
(Pyhton의 Numpy는 매트릭스 연산 등을 빠르게 처리할 수 있어 OpenCV에서 사용된다.)
sudo apt-get install python2.7-dev python3-dev python-numpy python3-numpy
OpenCV 3.4.0 설치
OpenCV 3.4.0 다운로드
저장할 임시 디렉토리를 생성 후 그 폴더에 OpenCV 3.4.0을 다운받는다.
mkdir opencv
cd opencv
wget -O opencv.zip https://github.com/opencv/opencv/archive/3.4.0.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/3.4.0.zip
압축을 푼다.
unzip opencv.zip
unzip opencv_contrib.zip
Build & install OpenCV
working directory를 생성한다.
cd opencv-3.4.0
mkdir build
cd build
Build 구성 복붙해서 cmake해주자
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D BUILD_opencv_cudacodec=OFF \
-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-3.4.0/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/x86_64-linux-gnu/libpython2.7.so \
-D PYTHON3_INCLUDE_DIR=/usr/include/python3.6m \
-D PYTHON3_NUMPY_INCLUDE_DIRS=/usr/lib/python3/dist-packages/numpy/core/include/ \
-D PYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages \
-D PYTHON3_LIBRARY=/usr/lib/x86_64-linux-gnu/libpython3.6m.so \
../
컴파일
make 명령을 사용하여 컴파일 시작한다.
(cpu 코어 수를 확인하는 방법은 cat/proc/cpuinfo | grep processor | wc-;)
make -j
※ 컴파일하는데 오랜 시간이 걸립니다.
Install OpenCV
sudo make install
sudo sh -c echo '/usr/local/lib/' > sudo /etc/ld.so.conf.d/opencv.conf
sudo ldconfig
참고 : https://j-remind.tistory.com/57?category=693866
'잡다한 것' 카테고리의 다른 글
Tensorflow 1.14 에 TensorRT 설치 하기(feat. bazel builder) (0) | 2020.08.06 |
---|---|
GPU 가속을 위한 TensorRT 7.0.0, tkDNN 환경 구축하기(feat. cmake업그레이드) (7) | 2020.07.30 |
Jetson Xavier 초기 환경 설정 및 딥러닝 패키지부터 ROS 설치 까지 완전 클린 설치 (0) | 2020.06.09 |
Ubuntu 18.04 그래픽 드라이버 440, cuda 10.2 오류 ,그래픽 드라이버 410,cuda 10.0 클린 설치하기 (0) | 2020.04.17 |
Ubuntu 18.04 그래픽 드라이버 410, Cuda 10.0 설치 (1) | 2020.04.17 |