아래 내용은 docker container로 ubuntu 18.0.4 버전을 이용하여 설치하며 작성한 내용입니다.
1. opencv 버전 확인 및 삭제
1.1 버전확인
# pkg-config --modversion opencv
1.2 패키지 삭제
# sudo apt-get purge libopencv* python-opencv
# sudo apt-get autoremove
1.3 잔여 파일 삭제
# sudo find /usr/local/ -name "*opencv*" -exec rm -i {} \;
2. 전 패키지 업데이트
2.1 저장소 업데이트
# sudo apt-get update
2.2 패키지 업데이트
# sudp apt-get upgrade
3. OpenCV 컴파일 패키지 설치
3.1 cmake 설치
# sudo apt-get install build-essential cmake
3.2 pkg-config 설치
# sudo apt-get install pkg-config
3.3 Image 파일 R/W를 위한 패키지 설치
# sudo apt-get install libjpeg-dev libtiff5-dev libpng-dev
3.4 Codec Video R/W를 위한 패키지 설치
# sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libxvidcore-dev libx264-dev libxine2-dev
3.5 실시간 비디오 캡쳐를 위한 API 설치
# sudo apt-get install libv4l-dev v4l-utils
3.6 GStreamer 설치(비디오 스트리밍 라이브러리)
# sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
3.7 gtk 설치(윈도우 등을 생성)
# sudo apt-get install libgtk2.0-dev
3.8 OpenGL 지원하기 위한 라이브러리 설치
# sudo apt-get install mesa-utils libgl1-mesa-dri libgtkgl2.0-dev libgtkglext1-dev
3.9 Numpy 설치
# sudo apt-get install python2.7-dev python3-dev python-numpy python3-numpy
3.10 기타 필요 패키지 설치
# apt-get install wget unzip vim
4. OpenCV 설정, 컴파일, 설치
4.1 임시 경로 생성
# mkdir opencv && cd opencv;
4.2 Opencv 4.2 다운로드 및 압축 풀기
# wget -O opencv.zip https://github.com/opencv/opencv/archive/4.2.0.zip && unzip opencv.zip
4.3 opencv_contrib(extra modules) 소스코드를 다운 및 압축 해제
# wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.2.0.zip && unzip ./opencv_contrib.zip
4.4 opencv build
# cd opencv-4.2.0 && mkdir build && cd build
4.6 cmake를 이용하여 Makefile 생성
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 ../
4.7 rfs에 설치
# sudo make install
4.8 파일 확인
# cat /etc/ld.so.conf.d/*
4.8.1 /usr/local/lib 이 추가되지 않았을 경우 추가 필요
# sudo sh -c 'echo '/usr/local/lib' > /etc/ld.so.conf.d/opencv.conf' && sudo ldconfig
4.9 설치 확인
# python3
Python 3.8.10 (default, Nov 26 2021, 20:14:08)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
cv2>>> cv2.__version__
'4.2.0'
>>>
4.9.1 만약 다른 버전이 나올 경우 cv2 디렉토리 삭제 및 retry
# sudo rm -rf ~ /.local/lib/python3.6/site-packages/cv2
출처 : https://webnautes.tistory.com/1186