반응형




OpenCV 4.2.0과 opencv_contrib(extra modules)를 컴파일하여 Ubuntu 18.04에 설치하는 방법을 다룹니다.





1. 설치된 OpenCV 제거


2. 기존 설치된 패키지 업그레이드


3. OpenCV 컴파일 전 필요한 패키지 설치


4. OpenCV 설정과 컴파일 및 설치


5. OpenCV 설치 결과 확인

    5.1. C/C++

    5.2. Python




최초작성 2018. 6.14

최종작성 2020. 06. 01


Python에서 사용할 OpenCV만 설치하는 경우에는 다음 명령으로 설치할 수 있습니다. 

OpenCV의 nonfree 모듈을 사용해야 할 경우에는 컴파일을 해야 합니다.  


pip3 install opencv-contrib-python


1. 설치된 OpenCV 제거 

전에 설치했던 OpenCV가 있다면 새로 설치하는 OpenCV 4.2.0 버전이 제대로 동작하지 않기 때문에 제거해주어야 합니다.


아래처럼 보이면 OpenCV가 설치안되어 있는 상태입니다. 다음 단계로 넘어가도  됩니다.


webnautes@webnautes-pc:~$ pkg-config --modversion opencv
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




OpenCV 2.4대 버전이 설치되어 있는 경우에는 OpenCV  2.4 버전이 출력됩니다.


webnautes@webnautes-pc:~$ pkg-config --modversion opencv
2.4.9.1



다음 명령으로 OpenCV 라이브러리 설정 파일을 포함해서 기존에 설치된 OpenCV 패키지를 삭제하고 진행해야 합니다. 


$ sudo apt-get purge  libopencv* python-opencv
$ sudo apt-get autoremove




OpenCV 3 버전이 설치되어 있다면 다음처럼 보입니다.


webnautes@webnautes-pc:~$ pkg-config --modversion opencv
3.4.2



다음 명령으로 기존에 설치된 opencv 라이브러리를 삭제합니다. 파일을 확인해서 문제 없는 파일만 y를 눌러주면 삭제가 됩니다. 

아래 명령에서 rm 다음에 있는 -i를 제거하면 물어보지 않고 전부 삭제합니다. 


webnautes@webnautes-pc:~$  sudo find /usr/local/ -name "*opencv*" -exec rm -i {} \;




2. 기존 설치된 패키지 업그레이드

OpenCV 4.2.0를 설치해주기 전에 기존에 설치된 패키지들을 업그레이드 해주기 위한 작업입니다. 

오래 걸리더라도 해주는 것이 좋습니다. 



Ubuntu 저장소(repository)로부터 패키지 리스트를 업데이트합니다.

기존에 설치된 패키지들의 새로운 버전이 저장소에 있다면 리스트를 업데이트 하기위해 실행합니다. 


$ sudo apt-get update



기존에 설치된 패키지의 새로운 버전이 있으면 업그레이드를 진행합니다.


$ sudo apt-get upgrade




3. OpenCV 컴파일 전 필요한 패키지 설치


OpenCV를 컴파일하는데 사용하는 것들이 포함된 패키지들을 설치합니다. 언급한 패키지가 이미 설치된 경우도 있을 겁니다.



build-essential 패키지에는 C/C++ 컴파일러와 관련 라이브러리, make 같은 도구들이 포함되어 있습니다.

cmake는 컴파일 옵션이나 빌드된 라이브러리에 포함시킬 OpenCV 모듈 설정등을 위해 필요합니다. 


$ sudo apt-get install build-essential cmake




pkg-config는 프로그램 컴파일 및 링크시 필요한 라이브러리에 대한 정보를 메타파일(확장자가 .pc 인 파일)로부터 가져오는데 사용됩니다. 

터미널에서 특정 라이브러리를 사용한 소스코드를 컴파일시 필요한 컴파일러 및 링커 플래그를 추가하는데 도움이 됩니다.  


$ sudo apt-get install pkg-config




특정 포맷의 이미지 파일을 불러오거나 기록하기 위해 필요한 패키지들입니다.


$ sudo apt-get install libjpeg-dev libtiff5-dev libpng-dev




특정 코덱의 비디오 파일을 읽어오거나 기록하기 위해 필요한 패키지들입니다.


$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libxvidcore-dev libx264-dev libxine2-dev




Video4Linux 패키지는 리눅스에서 실시간 비디오 캡처를 지원하기 위한 디바이스 드라이버와 API를 포함하고 있습니다. 


$ sudo apt-get install libv4l-dev v4l-utils




GStreamer는 비디오 스트리밍을 위한 라이브러리입니다. 

 

$ sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev 




OpenCV에서는 highgui 모듈을 사용하여 자체적으로 윈도우 생성하여 이미지나 비디오를 보여줄 수 있습니다. 

윈도우 생성 등의 GUI를 위해 gtk 또는 qt를 선택해서 사용가능합니다.  여기서는 gtk2를 지정해주었습니다.


$ sudo apt-get install libgtk2.0-dev



그외 선택 가능한 패키지는 다음과 같습니다.
libgtk-3-dev

libqt4-dev

libqt5-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




python2.7-dev와 python3-dev 패키지는 OpenCV-Python 바인딩을 위해 필요한 패키지들입니다. 

Numpy는 매트릭스 연산등을 빠르게 처리할 수 있어서 OpenCV에서 사용됩니다. 


$ sudo apt-get install python2.7-dev python3-dev python-numpy python3-numpy




4. OpenCV 설정과 컴파일 및 설치


소스 코드를 저장할 임시 디렉토리를 생성하여 이동 후.. 진행합니다.


webnautes@webnautes-pc:~$ mkdir opencv
webnautes@webnautes-pc:~$ cd opencv
webnautes@webnautes-pc:~/opencv




OpenCV 4.2.0 소스코드를 다운로드 받아 압축을 풀어줍니다.

 

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




opencv_contrib(extra modules) 소스코드를 다운로드 받아 압축을 풀어줍니다.

SIFT, SURF 등을 사용하기 위해 필요합니다.


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




다음처럼 두 개의 디렉토리가 생성됩니다. 


webnautes@webnautes-pc:~/opencv$ ls -d */
opencv-4.2.0/  opencv_contrib-4.2.0/




opencv-4.2.0 디렉토리로 이동하여 build 디렉토리를 생성하고 build 디렉토리로 이동합니다.

컴파일은 build 디렉토리에서 이루어집니다.


webnautes@webnautes-pc:~/opencv$ cd opencv-4.0.1/
webnautes@webnautes-pc:~/opencv/opencv-4.2.0$ mkdir build
webnautes@webnautes-pc:~/opencv/opencv-4.2.0$ cd build
webnautes@webnautes-pc:~/opencv/opencv-4.2.0/build




cmake를 사용하여 OpenCV 컴파일 설정을 해줍니다. 


OpenCV 4에서 pkg-config를 디폴트로 지원하지 않는 것으로 바뀌었습니다. 

그래서 OPENCV_GENERATE_PKGCONFIG=ON 옵션을 추가해야합니다.

( 참고 https://github.com/opencv/opencv/issues/13154


Non free 모듈을 사용하려면 다음 옵션을 추가하세요.

-D OPENCV_ENABLE_NONFREE=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 ../




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


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 ../




다음과 같은 메시지가 보이면 정상적으로 된 것입니다.


-- Configuring done

-- Generating done

-- Build files have been written to: /home/webnautes/opencv/opencv-4.2.0/build




cmake를 사용하여 진행한 OpenCV 컴파일 관련 설정 결과입니다.


-- General configuration for OpenCV 4.2.0 =====================================
--   Version control:               unknown
--
--   Extra modules:
--     Location (extra):            /home/webnautes/opencv/opencv_contrib-4.2.0/modules
--     Version control (extra):     unknown
--
--   Platform:
--     Timestamp:                   2020-03-29T09:50:36Z
--     Host:                        Linux 5.0.0-37-generic x86_64
--     CMake:                       3.10.2
--     CMake generator:             Unix Makefiles
--     CMake build tool:            /usr/bin/make
--     Configuration:               RELEASE
--
--   CPU/HW features:
--     Baseline:                    SSE SSE2 SSE3
--       requested:                 SSE3
--     Dispatched code generation:  SSE4_1 SSE4_2 FP16 AVX AVX2 AVX512_SKX
--       requested:                 SSE4_1 SSE4_2 AVX FP16 AVX2 AVX512_SKX
--       SSE4_1 (14 files):         + SSSE3 SSE4_1
--       SSE4_2 (1 files):          + SSSE3 SSE4_1 POPCNT SSE4_2
--       FP16 (0 files):            + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 AVX
--       AVX (4 files):             + SSSE3 SSE4_1 POPCNT SSE4_2 AVX
--       AVX2 (27 files):           + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2
--       AVX512_SKX (3 files):      + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2 AVX_512F AVX512_COMMON AVX512_SKX
--
--   C/C++:
--     Built as dynamic libs?:      YES
--     C++ Compiler:                /usr/bin/c++  (ver 7.5.0)
--     C++ flags (Release):         -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winit-self -Wsuggest-override -Wno-delete-non-virtual-dtor -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections  -msse -msse2 -msse3 -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG  -DNDEBUG
--     C++ flags (Debug):           -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winit-self -Wsuggest-override -Wno-delete-non-virtual-dtor -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections  -msse -msse2 -msse3 -fvisibility=hidden -fvisibility-inlines-hidden -g  -O0 -DDEBUG -D_DEBUG
--     C Compiler:                  /usr/bin/cc
--     C flags (Release):           -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Winit-self -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections  -msse -msse2 -msse3 -fvisibility=hidden -O3 -DNDEBUG  -DNDEBUG
--     C flags (Debug):             -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Winit-self -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections  -msse -msse2 -msse3 -fvisibility=hidden -g  -O0 -DDEBUG -D_DEBUG
--     Linker flags (Release):      -Wl,--gc-sections 
--     Linker flags (Debug):        -Wl,--gc-sections 
--     ccache:                      NO
--     Precompiled headers:         NO
--     Extra dependencies:          dl m pthread rt /usr/lib/x86_64-linux-gnu/libGL.so /usr/lib/x86_64-linux-gnu/libGLU.so
--     3rdparty dependencies:
--
--   OpenCV modules:
--     To be built:                 aruco bgsegm bioinspired calib3d ccalib core datasets dnn dnn_objdetect dnn_superres dpm face features2d flann freetype fuzzy gapi hfs highgui img_hash imgcodecs imgproc line_descriptor ml objdetect optflow phase_unwrapping photo plot python2 python3 quality reg rgbd saliency shape stereo stitching structured_light superres surface_matching text tracking video videoio videostab xfeatures2d ximgproc xobjdetect xphoto
--     Disabled:                    world
--     Disabled by dependency:      -
--     Unavailable:                 cnn_3dobj cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev cvv hdf java js matlab ovis sfm ts viz
--     Applications:                apps
--     Documentation:               NO
--     Non-free algorithms:         NO
--
--   GUI:
--     GTK+:                        YES (ver 2.24.32)
--       GThread :                  YES (ver 2.56.4)
--       GtkGlExt:                  YES (ver 1.2.0)
--     OpenGL support:              YES (/usr/lib/x86_64-linux-gnu/libGL.so /usr/lib/x86_64-linux-gnu/libGLU.so)
--     VTK support:                 NO
--
--   Media I/O:
--     ZLib:                        /usr/lib/x86_64-linux-gnu/libz.so (ver 1.2.11)
--     JPEG:                        libjpeg-turbo (ver 2.0.2-62)
--     WEBP:                        build (ver encoder: 0x020e)
--     PNG:                         /usr/lib/x86_64-linux-gnu/libpng.so (ver 1.6.34)
--     TIFF:                        build (ver 42 - 4.0.10)
--     JPEG 2000:                   build (ver 1.900.1)
--     OpenEXR:                     build (ver 2.3.0)
--     HDR:                         YES
--     SUNRASTER:                   YES
--     PXM:                         YES
--     PFM:                         YES
--
--   Video I/O:
--     FFMPEG:                      YES
--       avcodec:                   YES (57.107.100)
--       avformat:                  YES (57.83.100)
--       avutil:                    YES (55.78.100)
--       swscale:                   YES (4.8.100)
--       avresample:                NO
--     GStreamer:                   YES (1.14.5)
--     v4l/v4l2:                    YES (linux/videodev2.h)
--     Xine:                        YES (ver 1.2.8)
--
--   Parallel framework:            pthreads
--
--   Trace:                         YES (with Intel ITT)
--
--   Other third-party libraries:
--     Lapack:                      NO
--     Eigen:                       YES (ver 3.3.4)
--     Custom HAL:                  NO
--     Protobuf:                    build (3.5.1)
--
--   OpenCL:                        YES (no extra features)
--     Include path:                /home/webnautes/opencv/opencv-4.2.0/3rdparty/include/opencl/1.2
--     Link libraries:              Dynamic load
--
--   Python 2:
--     Interpreter:                 /usr/bin/python2.7 (ver 2.7.17)
--     Libraries:                   /usr/lib/x86_64-linux-gnu/libpython2.7.so (ver 2.7.17)
--     numpy:                       /usr/lib/python2.7/dist-packages/numpy/core/include (ver 1.13.3)
--     install path:                lib/python2.7/dist-packages/cv2/python-2.7
--
--   Python 3:
--     Interpreter:                 /usr/bin/python3 (ver 3.6.9)
--     Libraries:                   /usr/lib/x86_64-linux-gnu/libpython3.6m.so (ver 3.6.9)
--     numpy:                       /home/webnautes/.local/lib/python3.6/site-packages/numpy/core/include (ver 1.17.4)
--     install path:                lib/python3.6/dist-packages/cv2/python-3.6
--
--   Python (for build):            /usr/bin/python2.7
--
--   Java:                         
--     ant:                         NO
--     JNI:                         NO
--     Java wrappers:               NO
--     Java tests:                  NO
--
--   Install to:                    /usr/local
-- -----------------------------------------------------------------
--
-- Configuring done
-- Generating done
-- Build files have been written to: /home/webnautes/opencv/opencv-4.2.0/build




다음처럼 Python 2 또는 Python 3 라이브러리 항목이 보이지 않는 경우에는   


--   Python 2:
--     Interpreter:                 /usr/bin/python2.7 (ver 2.7.17)
--     Libraries:                   /usr/lib/x86_64-linux-gnu/libpython2.7.so (ver 2.7.17)
--     numpy:                       /usr/lib/python2.7/dist-packages/numpy/core/include (ver 1.13.3)
--     install path:                lib/python2.7/dist-packages/cv2/python-2.7
--
--   Python 3:
--     Interpreter:                 /usr/bin/python3 (ver 3.6.9)
--     Libraries:                   /usr/lib/x86_64-linux-gnu/libpython3.6m.so (ver 3.6.9)
--     numpy:                       /home/webnautes/.local/lib/python3.6/site-packages/numpy/core/include (ver 1.17.4)
--     install path:                lib/python3.6/dist-packages/cv2/python-3.6




붉은색 줄처럼 해당 경로들을 직접 적어줘야 합니다.   포스팅에서 사용한 옵션과 차이가 있을 수 있습니다. 


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 \
-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 \

../




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


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




make 명령을 사용하여 컴파일을 시작합니다. -j 다음에 위에서 확인한 숫자를 붙여서 실행해줍니다.

앞에 time을 붙여서 실행하면 컴파일 완료 후 걸린 시간을 알려줍니다.


webnautes@webnautes-pc:~/opencv/opencv-4.2.0/build$ time make -j4



컴파일 성공하면 다음과 같은 메시지를 볼 수 있습니다.


[100%] Building CXX object modules/python3/CMakeFiles/opencv_python3.dir/__/src2/cv2.cpp.o
[100%] Building CXX object modules/python2/CMakeFiles/opencv_python2.dir/__/src2/cv2.cpp.o
[100%] Linking CXX shared module ../../lib/python3/cv2.cpython-36m-x86_64-linux-gnu.so
[100%] Linking CXX shared module ../../lib/cv2.so
[100%] Built target opencv_python3
[100%] Built target opencv_python2

real 17m15.631s
user 55m47.050s
sys 2m39.468s



참고로 i5, SSD, 16G 메모리를 장착한 노트북에서 컴파일한데 걸린 시간은  위 결과에서 user + sys를 더한 약 57분입니다. 



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

 

webnautes@webnautes-pc:~/opencv/opencv-4.2.0/build$ sudo make install



/etc/ld.so.conf.d/ 디렉토리에 /usr/local/lib를 포함하는 설정파일이 있는지 확인합니다.


webnautes@webnautes-pc:~/opencv/opencv-4.2.0/build$ cat /etc/ld.so.conf.d/*
/usr/lib/x86_64-linux-gnu/libfakeroot

# libc default configuration

/usr/local/lib

# Multiarch support

/usr/local/lib/x86_64-linux-gnu

/lib/x86_64-linux-gnu

/usr/lib/x86_64-linux-gnu




/usr/local/lib이 출력되지 않았다면 다음 명령을 추가로 실행해야합니다.


webnautes@webnautes-pc:~/opencv/opencv-4.2.0/build$  sudo sh -c 'echo '/usr/local/lib' > /etc/ld.so.conf.d/opencv.conf'




/usr/local/lib을 찾은 경우나 못찾아서 추가한 작업을 한 경우 모두 컴파일시 opencv  라이브러리를 찾을 수 있도록 다음 명령을 실행합니다.


webnautes@webnautes-pc:~/opencv/opencv-4.0.1/build$ sudo ldconfig




5. OpenCV 설치 결과 확인 

5.1. C/C++

OpenCV 3과 달리 opencv대신에 opencv4를 옵션으로 사용하여 pkg-config를 실행해야 컴파일할 수 있습니다. 

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



실행시켜보면 얼굴 인식이 됩니다. 

$ ./facedetect --cascade="/usr/local/share/opencv4/haarcascades/haarcascade_frontalface_alt.xml" --nested-cascade="/usr/local/share/opencv4/haarcascades/haarcascade_eye_tree_eyeglasses.xml" --scale=1.3



다음 포스팅도 참고하세요. 



Visual Studio Code에서 CMake 사용하여 OpenCV 코드 컴파일 하기

https://webnautes.tistory.com/933 





5.2. Python

1. python 2.x와 python 3x에서 opencv 라이브러리를 사용가능한지는 다음처럼 확인합니다.

각각 OpenCV 버전이 출력되어야 합니다.

webnautes@webnautes-pc:~/opencv/opencv-4.2.0/build$ python
Python 2.7.17 (default, Nov  7 2019, 10:07:09) 

[GCC 7.4.0] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> import cv2

>>> cv2.__version__

'4.2.0'

>>> 



webnautes@webnautes-pc:~/opencv/opencv-4.2.0/build$ python3
Python 3.6.9 (default, Nov  7 2019, 10:44:02) 

[GCC 8.3.0] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> import cv2

>>> cv2.__version__

'4.2.0'

>>> 



혹시 다른 버전이 나온다면 다음 위치에 있는 cv2 디렉토리를 삭제하고 다시 해보세요.


sudo rm -rf ~ /.local/lib/python3.6/site-packages/cv2




2. 기존 OpenCV 3를 삭제 후 진행했다면 다음과 같은 에러가 날 수 있습니다.


webnautes@webnautes-pc:~/opencv/opencv-4.2.0/build$ python
Python 2.7.17 (default, Nov  7 2019, 10:07:09) 

[GCC 7.4.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: libopencv_reg.so.3.4: cannot open shared object file: No such file or directory



다음 처럼  cv2.so를 복사해줘야 합니다.


webnautes@webnautes-pc:~/opencv/opencv-4.2.0/build$ sudo cp /usr/local/python/cv2/python-2.7/cv2.so /usr/local/lib/python2.7/dist-packages/

webnautes@webnautes-pc:~/opencv/opencv-4.2.0/build$ sudo cp /usr/local/python/cv2/python-2.7/cv2.so /usr/lib/python2.7/dist-packages/

webnautes@webnautes-pc:~/opencv/opencv-4.2.0/build$ sudo cp /usr/local/python/cv2/python-3.6/cv2.cpython-36m-x86_64-linux-gnu.so /usr/lib/python3/dist-packages

webnautes@webnautes-pc:~/opencv/opencv-4.2.0/build$ sudo cp /usr/local/python/cv2/python-3.6/cv2.cpython-36m-x86_64-linux-gnu.so /usr/local/lib/python3.6/dist-packages



3. 예제 코드를 실행해봅니다.


$  python /usr/local/share/opencv4/samples/python/facedetect.py --cascade "/usr/local/share/opencv4/haarcascades/haarcascade_frontalface_alt.xml" --nested-cascade "/usr/local/share/opencv4/haarcascades/haarcascade_eye_tree_eyeglasses.xml" /dev/video0



$  python3 /usr/local/share/opencv4/samples/python/facedetect.py --cascade "/usr/local/share/opencv4/haarcascades/haarcascade_frontalface_alt.xml" --nested-cascade "/usr/local/share/opencv4/haarcascades/haarcascade_eye_tree_eyeglasses.xml" /dev/video0




다음처럼  터미널에 표시되면서 카메라 영상에 얼굴이 검출된 결과를 얻을 수 있습니다.


python2


webnautes@webnautes-pc:~/opencv/opencv-4.2.0/build$  python /usr/local/share/opencv4/samples/python/facedetect.py --cascade "/usr/local/share/opencv4/haarcascades/haarcascade_frontalface_alt.xml" --nested-cascade "/usr/local/share/opencv4/haarcascades/haarcascade_eye_tree_eyeglasses.xml" /dev/video0


face detection using haar cascades


USAGE:

    facedetect.py [--cascade <cascade_fn>] [--nested-cascade <cascade_fn>] [<video_source>]


[ INFO:0] Initialize OpenCL runtime...



python3


webnautes@webnautes-pc:~/opencv/opencv-4.2.0/build$   python3 /usr/local/share/opencv4/samples/python/facedetect.py --cascade "/usr/local/share/opencv4/haarcascades/haarcascade_frontalface_alt.xml" --nested-cascade "/usr/local/share/opencv4/haarcascades/haarcascade_eye_tree_eyeglasses.xml" /dev/video0


face detection using haar cascades


USAGE:

    facedetect.py [--cascade <cascade_fn>] [--nested-cascade <cascade_fn>] [<video_source>]


[ INFO:0] Initialize OpenCL runtime...




4. 이제 필요 없어진 컴파일에 사용했던 opencv 소스코드 디렉토리를 삭제합니다.


webnautes@webnautes-pc:~/opencv/opencv-4.2.0/build$ cd
webnautes@webnautes-pc:~$ rm -rf opencv




반응형

포스트 작성시에는 문제 없었지만 이후 문제가 생길 수 있습니다.
댓글로 알려주시면 빠른 시일내에 답변을 드리겠습니다.

여러분의 응원으로 좋은 컨텐츠가 만들어집니다.
지금 본 내용이 도움이 되었다면 유튜브 구독 부탁드립니다. 감사합니다 : )

유튜브 구독하기


제가 쓴 책도 한번 검토해보세요.

  1. 이전 댓글 더보기
  2. summer 2020.06.02 00:50

    마지막 예제코드를 실행하는데 오류가 뜨네요

    Traceback (most recent call last):
    File "/usr/local/share/opencv4/samples/python/facedetect.py", line 17, in <module>
    from video import create_capture
    File "/usr/local/share/opencv4/samples/python/video.py", line 43, in <module>
    from time import clock
    ImportError: cannot import name 'clock' from 'time' (unknown location)

    어디서 뭐가 잘못된건지 모르겠습니다ㅠㅠ

    • summer 2020.06.02 01:20

      python 3.8에는 clock이 아닌 process_time 를 사용해야 한다고 하는데 어떻게 해야하는지 모르겠어요

      코드 편집도 권한 없어서 안된다고 뜨네요
      도와주시면 감사하겠습니다

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.06.02 06:54 신고

      다음 링크를 참고하세요

      https://webnautes.tistory.com/1372

  3. 감사합니다 2020.06.08 15:40

    안녕하세요. 이 글을 보고 opencv를 설치하고 잘 이용하였습니다. 질문에 앞서 본문과 조금 벗어난 질문드리는 점 죄송합니다.
    이번엔 이 글을 참고해 aarch64 환경 opencv를 빌드하고 있습니다.
    순서대로 진행하고 크로스컴파일러 옵션을 줘서 aarch64로 빌드하는데
    전부 다 하고 컴파일 해서 실행파일을 실행해보니 아래와 같은 에러가 떴습니다.
    terminate called after throwing an instance of 'cv::Exception'
    what(): OpenCV(4.2.0-dev) /home/yeah/opencv_ARM/opencv/modules/highgui/src/window.cpp:651: error: (-2:Unspecified error) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Cocoa support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function 'cvShowImage'
    ​나름대로 ​확인을 해봤더니 cmake 옵션에서 -D WITH_GTK=ON, -D WITH_OPENGL=ON 이 두 개가 먹히질 않아 GTK+: NO, OpenGL support: NO 라고 적혀있어 이 부분이 문제인 듯 한데 방법을 찾질 못해 여기다 여쭤봅니다.

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.06.08 16:40 신고

      gtk 2.0을 크로스컴파일하여 준비한후.. cmake에서 gtk가 인식되어야 해결될듯합니다

  4. Favicon of https://haewonlee.tistory.com BlogIcon Haewon Lee 2020.06.18 15:15 신고

    코어수가 32개라 금방되네요

  5. BlogIcon .. 2020.07.01 15:33

    순차적으로 다 따라해서 진행되고 있었는데요
    python 예제를 실행하면 오류가 발생합니다.

    python: can't open file '/usr/local/share/opencv4/samples/python/facedetect.py': [Errno 2] No such file or directory

    python3: can't open file '/usr/local/share/opencv4/samples/python/facedetect.py': [Errno 2] No such file or directory


  6. 미정 2020.07.01 17:54

    순차적으로 다 따라해서 진행되고 있었는데요
    python 예제를 실행하면 이런 오류가 발생합니다.

    python: can't open file '/usr/local/share/opencv4/samples/python/facedetect.py': [Errno 2] No such file or directory

    python3: can't open file '/usr/local/share/opencv4/samples/python/facedetect.py': [Errno 2] No such file or directory

    이 opencv가 잘못 깔린건가요??? 아니면 라즈베리 카메라 연동이 안되있는건가요??
    해결할 방법을 묻고 싶습니다

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.07.01 18:50 신고

      샘플코드가 복사안된듯합니다. opencv 소스 폴더를 보면 sample아래 python 폴더가 있습니다.

      다음 파일들이 보이는 위치에서 다시 실행해보세요.

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.07.01 18:50 신고

      https://github.com/opencv/opencv/tree/master/samples/python

    • 미정 2020.07.01 22:03

      github 사용법을 모르는데 어떠하죠??
      파일을 보내주실수는 없나요??

    • 미정 2020.07.01 22:07

      github아이디가 없는데 어떻게 다운로드 받는지 궁금합니다

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.07.01 22:42 신고

      OpenCV 빌드할때 사용한 소소코드 디렉토리에 파일들이 있습니다. opencv-4.2.0디렉토리 내에서 sample 디렉토리를 찾으세요.

  7. 도움이 필요한 초보자 2020.07.01 20:02

    아래와 같은 오류가 발생합니다.

    (cv) woojin@woojin-All-Series:~/opencv-4.2.0/build$ python3
    Python 3.6.9 (default, Apr 18 2020, 01:56:04)
    [GCC 8.4.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import cv2
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    ModuleNotFoundError: No module named 'cv2'
    >>>
    [2]+ Stopped python3

    (cv) woojin@woojin-All-Series:~/opencv-4.2.0/build$ python2
    Python 2.7.17 (default, Apr 15 2020, 17:20:14)
    [GCC 7.5.0] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import cv2
    >>> cv2.__version__
    '4.2.0'
    >>>

    파이썬 2에서는 import cv2가 정상적으로 실행이 되었는데 파이썬3에서는 cv2 모듈이 없다고 오류가 납니다.. 아래에 언급하신 .so파일도 존재하지 않는다고 합니다.. 도아주시면 감사하겠습니다!!

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.07.01 20:09 신고

      OpenCV 빌드시 Python3가 인식이 안된듯합니다.

      다시 cmake를 실행하여 포스트의 아래부분처럼 보이나 확인해보세요


      다음처럼 Python 2 또는 Python 3 라이브러리 항목이 보이지 않는 경우에는  


      또는 파이썬용 OpenCV는 다음처럼 설치가능합니다.

      pip3 install opencv-contrib-python

  8. Favicon of https://haewonlee.tistory.com BlogIcon Haewon Lee 2020.07.06 10:13 신고

    1. cmake빌드시 터미널에서 확인결과 파이선2는 잡히지만 파이선3는 경로가 잡하지 않은채로 빌드가 완료됐습니다.
    2. 그래서 작성자님이 빨간색으로 적어주신 명령어를 같이 넣어도 여전히 파이선3는 잡히지 않습니다. (그래서 이 명령어를 넣었더니 "-D BUILD_opencv_python3=ON" python3가 잡히긴하는데 아나콘다것으로 잡히고 Libraries항목과 install path항목이 비어있는채로 빌드가 완료됐습니다. )
    3. 혹시나 빨간글로 적어주신 경로에 파이선3 파일이 없나 싶어서 확인해보고 있지만 파일이 다 있습니다.

    저 같은 경우 무엇을 수정해야 파이선3까지 다 잡혀서 cmake가 빌드 될까요??


    우분투18.04에 아나콘다 설치된 상태입니다.

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.07.06 20:25 신고

      -D BUILD_opencv_python3=ON 옵션과 빨간색 으로 적힌 Python3 경로를 같이 사용해보셨나요?

    • Favicon of https://haewonlee.tistory.com BlogIcon Haewon Lee 2020.07.07 20:08 신고

      네네 다 해봤는데 계속 위와 같이 라이브러리와 인스톨패스는 공란으로 잡히고, 파이썬은 아나콘다것으로 잡히더라구요 😅

      그냥 설치해버렸는데 결국 이어지는 작업에서 실패하고말았습니다 흐 😂

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.07.07 20:56 신고

      가능하면 아나콘다를 삭제후.. 진행하고나서 다시 아나콘다를 설치하는게 어떻까 싶네요

    • 2020.07.13 18:40

      비밀댓글입니다

  9. tkffuwnjdy 2020.07.11 14:12

    위에 있는 포스팅 그대로 따라한 후에
    pkg-config --modversion opencv 를 쳐보았더니
    3.2.0이라고 뜨는데 정상인건가요???
    저는 라즈베리파이4 우분투18.04를 사용하고 있습니다
    python나 python3를 쳤을때 4.2.0이 뜨긴 했습니다

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.07.11 14:14 신고

      sudo find /usr | grep libopencv로 검색하여 3.2.0 버전 라이브러리를 삭제해보세요

  10. tkffuwnjdy 2020.07.12 16:04

    ubuntu@ubuntu:~/opencv/opencv-4.2.0/build$ cmake -D CMAKE_BUILD_TYPE=RELEASE \
    > D OPENCV_ENABLE_NONFREE=ON
    CMake Error: The source directory "/home/ubuntu/opencv/opencv-4.2.0/build/OPENCV_ENABLE_NONFREE=ON" does not exist.
    Specify --help for usage, or press the help button on the CMake GUI.

    opencv 4.2. 버전을 깔면서 -D OPENCV_ENABLE_NONFREE=ON 를 추가하였더니 이런 오류가 떴습니다

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.07.12 16:23 신고

      끝에 있는 역슬래쉬를 지우고 한줄로 만들어서 해보세요. 전체 cmake 명령이 어떻게 되나요?

    • BlogIcon tkffuwnjdy 2020.07.12 16:32

      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 OPENCV_ENABLE_NONFREE=ON 를 쳤습니다
      첫번째 줄에 역슬래쉬를 지우면 명령어 자체가 실행이 안됩니다

    • BlogIcon tkffuwntpdy 2020.07.12 16:33

      ubuntu@ubuntu:~/opencv/opencv-4.2.0/build$ cmake -D CMAKE_BUILD_TYPE=RELEASE
      CMake Error: The source directory "/home/ubuntu/opencv/opencv-4.2.0/build/CMAKE_BUILD_TYPE=RELEASE" does not exist.
      Specify --help for usage, or press the help button on the CMake GUI.
      끝에 있는 역슬래쉬를 지웠을 때 였습니다

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.07.12 16:40 신고

      다음처럼 중간에 껴서 넣어보세요
      이하 옵션은 그대로 사용하면 됩니다.

      cmake -D CMAKE_BUILD_TYPE=RELEASE \
      -D D OPENCV_ENABLE_NONFREE=ON \
      -D CMAKE_INSTALL_PREFIX=/usr/local \

    • BlogIcon tkffuwntpdy 2020.07.12 16:44

      ubuntu@ubuntu:~/opencv/opencv-4.2.0/build$ cmake -D CMAKE_BUILD_TYPE=RELEASE \
      > -D D OPENCV_ENABLE_NONFREE=ON \
      > -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 ../
      Parse error in command line argument: -D
      Should be: VAR:type=value
      CMake Error: No cmake script provided.
      CMake Error: Problem processing arguments. Aborting.

      그부분은 해결이 되었는데
      그다음으로 어디가 문제인지 모르겠습니다

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.07.12 16:50 신고

      -D D OPENCV_ENABLE_NONFREE=ON \을

      -D OPENCV_ENABLE_NONFREE=ON \ 로바꾸세요

    • BlogIcon tkffuwnjdy 2020.07.12 16:53

      실행이 되었습니다
      감사합니다..ㅠㅠㅠ
      다른것 모르는것 있으면 물어봐도 괜찮을까요??

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.07.12 16:53 신고

  11. 초보자 2020.07.21 10:03

    안녕하세요 설명해주신대로 따라했더니 설치는 이상없이 잘 되었씁니다 감사합니다
    그런데 실행결과 확인을 위해 컴파일하려하니
    No such file or directory
    #include <opencv2/core.hpp>

    이런 에러가 뜨네요ㅠㅠ 혹시 어떻게 해야할까요

  12. 2020.08.20 15:23

    비밀댓글입니다

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.08.20 16:45 신고

      리눅스서버가 윈도우와 같은 데스크톱 환경을 지원한다면 vnc로 확인할수 있습니다. 좀 느린 단점이 있습니다. 데스크톱 환경이 아니라면 이미지를 저장해서 확인할 수 밖에 없습니다.

  13. bnmy6581 2020.09.05 23:41

    libqt5-dev는 없는 패키지라고 나옵니다

    포스팅 정말 감사합니다 ~ 만수무강하세요 ^^

  14. 리눅스초보 2020.09.14 17:16

    안녕하세요
    포스팅 감사합니다.
    다름이아니라 python 으로 버전을 확인했을 때에는 4.2.0이 잘 나왓는데 python3에서는 4.4.0이 나와서요
    어떻게 해결해야할까요? 그냥 사용해도 문제가 없을까요'?

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.09.14 20:36 신고

      두가지 버전이 설치된듯합니다.

      pip3 명령으로 설치한적이 있다면 제거해주세요.

      다음 명령으로 opencv가 있나 보세요
      pip3 list

  15. 리눅스 초보 2020.09.15 15:11

    지웟더니 제대로 버전이 나오네요
    감사합니다 !

  16. ㅇㅇㅇㅇ 2020.09.21 15:49

    Gtk-ERROR **: 07:24:19.665: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported
    Trace/breakpoint trap
    이런오류가 뜨는데 어떻게 해야될까요ㅠㅠ

  17. jhjun724 2020.09.22 20:06

    안녕하세요
    opencv 설치중에 마지막 cat /etc/ld.so.conf.d/*에서 /usr/local/lib 가 뜨는 것까지 확인을 했습니다.
    하지만 sudo ldconfig를 실행하였을때 /sbin/ldconfig.real: /usr/lib/ is not a symoblic link라는 문구가 뜨는데 제대로 되는 것인지 모르겠습니다.
    또한 pkg-config --modversion opencv 로 버전 확인을 하였을때 3.2.0이라 뜨고
    python으로 import cv2, cv2.__version__ 을 입력하였을 때 '4.2.0'이라 뜨는데 문제가 없는 것인지 알고 싶습니다.

    기존에 3.2.0을 쓰다가 cv::HoughLinesPointSet 함수를 쓰기 위해서 버전을 업그레이드 하려는데
    설치 전 버전 확인이 안되는 것을 확인하고 설치를 진행하였는데 아직 문제가 있는것 같습니다.
    도와주시면 감사드리겠습니다.

    • BlogIcon jhjun724 2020.09.22 20:18

      현재 /usr/include/opencv2/ 의 라이브러리는 4.2.0으로 업데이트가 되지 않은 것 같고, /usr/local/include/opencv4/opencv2/를 사용하면 /usr/include/opencv2/ 와 충돌이 일어나는 것으로 보입니다.

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.09.22 21:12 신고

      다음 명령으로 검색하여 3.2가 붙은 파일들을 지우세요

      find /usr | grep libopencv


      그리고 나서 sudo ldconfig를 실행하면 해결될겁니다.

      OpenCV 4.2에선 /usr/include/opencv2/ 대신에 /usr/local/include/opencv4/opencv2/를 사용합니다.


      위에 언급한것들을 진행한후 다음 명령으로 OpenCV 4.2.0 옵션들이 보이는지 보세요
      pkg-config opencv4 --libs --cflags

    • BlogIcon jhjun724 2020.09.23 22:11

      /usr/include 의 opencv들을 제거하고 CMakelists.txt에서 따로 손봐주니 해결됐습니다. 감사합니다~

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.09.23 22:31 신고

      해결되서 다행입니다.

  18. hee 2020.09.24 15:19

    pkg-config --modversion opencv 이걸로 검색하면 3.2.0버전이 나오고 python 들어가서 cv2.__version__하면 제대로 설치된것이 나오는데 어떻게해야되나요ㅠㅠㅠㅠㅠ

    • BlogIcon hee 2020.09.24 15:21

      find /usr | grep libopencv ㅇㅣ걸로 찾아서 지우는걸 어떻게 해야되는지 모르겠네요ㅠㅠ

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.09.24 15:56 신고

      OpenCV 3.2를 지우는 거라면 다음처럼 검색된 것을 하나씩 지우세요

      sudo rm 검색된 OpenCV 3.2 라이브러리 파일 전체 경로(파일 이름 포함)

      다지운후 다음 명령을 하면 반영됩니다
      sudo ldconfig

      다음 명령으로 OpenCV 4.x 옵션이 보이나보세요

      pkg-config opencv4 --libs --cflags

    • BlogIcon hee 2020.09.24 16:00

      꼭하나씩 지워야하나용??? 그리구 pkg-config opencv4 --libs --cflags 하면

      -I/usr/local/include/opencv4 -L/usr/local/lib -lopencv_gapi -lopencv_stitching -lopencv_alphamat -lopencv_aruco -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_dnn_objdetect -lopencv_dnn_superres -lopencv_dpm -lopencv_highgui -lopencv_face -lopencv_freetype -lopencv_fuzzy -lopencv_hfs -lopencv_img_hash -lopencv_intensity_transform -lopencv_line_descriptor -lopencv_quality -lopencv_rapid -lopencv_reg -lopencv_rgbd -lopencv_saliency -lopencv_stereo -lopencv_structured_light -lopencv_phase_unwrapping -lopencv_superres -lopencv_optflow -lopencv_surface_matching -lopencv_tracking -lopencv_datasets -lopencv_text -lopencv_dnn -lopencv_plot -lopencv_videostab -lopencv_videoio -lopencv_xfeatures2d -lopencv_shape -lopencv_ml -lopencv_ximgproc -lopencv_video -lopencv_xobjdetect -lopencv_objdetect -lopencv_calib3d -lopencv_imgcodecs -lopencv_features2d -lopencv_flann -lopencv_xphoto -lopencv_photo -lopencv_imgproc -lopencv_core

      이렇게 나옵니다

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.09.24 16:09 신고

      실수할까봐 그랬는데 한번에 지우셔도 됩니다. OpenCV 4는 제대로 인식되었네요

    • BlogIcon hee 2020.09.25 11:09

      한번에 다 지우는 명령어는 어떻게 적나요? 3.2 버전을 다 지울예정입니다

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.09.25 11:30 신고

      파일.목록을 올려줘보세요. 탐색기로 해당 경로가서 선택해서 지워도 될듯합니다

    • BlogIcon hee 2020.09.25 12:59


      /usr/local/lib/libopencv_xobjdetect.so.4.4
      /usr/local/lib/libopencv_structured_light.so.4.4
      /usr/local/lib/libopencv_dnn.so.4.4.0
      /usr/local/lib/libopencv_videoio.so
      /usr/local/lib/libopencv_freetype.so
      /usr/local/lib/libopencv_xfeatures2d.so
      /usr/local/lib/libopencv_stereo.so.4.4
      /usr/local/lib/libopencv_photo.so.4.4
      /usr/local/lib/libopencv_hfs.so.4.4.0
      /usr/local/lib/libopencv_intensity_transform.so.4.4
      /usr/local/lib/libopencv_intensity_transform.so.4.4.0
      /usr/local/lib/libopencv_aruco.so.4.4
      /usr/local/lib/libopencv_img_hash.so.4.4
      /usr/local/lib/libopencv_tracking.so
      /usr/local/lib/libopencv_img_hash.so.4.4.0
      /usr/local/lib/libopencv_surface_matching.so.4.4.0
      /usr/local/lib/libopencv_highgui.so.4.4.0
      /usr/local/lib/libopencv_xphoto.so.4.4.0
      /usr/local/lib/libopencv_alphamat.so
      /usr/local/lib/libopencv_video.so.4.4
      /usr/local/lib/libopencv_bioinspired.so.4.4
      /usr/local/lib/libopencv_plot.so
      /usr/local/lib/libopencv_objdetect.so
      /usr/local/lib/libopencv_core.so.4.4.0
      /usr/local/lib/libopencv_stitching.so.4.4.0
      /usr/local/lib/libopencv_bioinspired.so.4.4.0
      /usr/local/lib/libopencv_imgproc.so
      /usr/local/lib/libopencv_img_hash.so
      /usr/local/lib/libopencv_saliency.so
      /usr/local/lib/libopencv_xphoto.so
      /usr/local/lib/libopencv_datasets.so.4.4
      /usr/local/lib/libopencv_superres.so.4.4
      /usr/local/lib/libopencv_features2d.so.4.4.0
      /usr/local/lib/libopencv_bgsegm.so
      /usr/local/lib/libopencv_shape.so.4.4.0
      /usr/local/lib/libopencv_objdetect.so.4.4.0
      /usr/local/lib/libopencv_hfs.so.4.4
      /usr/local/lib/libopencv_datasets.so.4.4.0
      /usr/local/lib/libopencv_surface_matching.so.4.4
      /usr/local/lib/libopencv_stitching.so.4.4
      /usr/local/lib/libopencv_rapid.so.4.4
      /usr/local/lib/libopencv_alphamat.so.4.4
      /usr/local/lib/libopencv_shape.so
      /usr/local/lib/libopencv_dpm.so.4.4.0
      /usr/local/lib/libopencv_dpm.so
      /usr/local/lib/libopencv_plot.so.4.4.0
      /usr/local/lib/libopencv_bgsegm.so.4.4
      /usr/local/lib/libopencv_phase_unwrapping.so.4.4.0
      /usr/local/lib/libopencv_ximgproc.so
      /usr/local/lib/libopencv_text.so.4.4
      /usr/local/lib/libopencv_dnn_superres.so.4.4.0
      /usr/local/lib/libopencv_calib3d.so
      /usr/local/lib/libopencv_text.so.4.4.0
      /usr/local/lib/libopencv_dnn_objdetect.so
      /usr/local/lib/libopencv_ccalib.so
      /usr/local/lib/libopencv_video.so.4.4.0
      /usr/local/lib/libopencv_videoio.so.4.4.0
      /usr/local/lib/libopencv_rgbd.so
      /usr/local/lib/libopencv_shape.so.4.4
      /usr/local/lib/libopencv_text.so
      /usr/local/lib/libopencv_dnn_objdetect.so.4.4
      /usr/local/lib/libopencv_phase_unwrapping.so
      /usr/local/lib/libopencv_quality.so.4.4.0
      /usr/local/lib/libopencv_fuzzy.so
      /usr/local/lib/libopencv_reg.so.4.4.0
      /usr/local/lib/libopencv_hfs.so
      /usr/local/lib/libopencv_reg.so.4.4
      /usr/local/lib/libopencv_calib3d.so.4.4.0
      /usr/local/lib/libopencv_highgui.so
      /usr/local/lib/libopencv_dnn.so
      /usr/local/lib/libopencv_imgcodecs.so.4.4
      /usr/local/lib/libopencv_gapi.so.4.4
      /usr/local/lib/libopencv_dnn_objdetect.so.4.4.0
      /usr/local/lib/libopencv_videoio.so.4.4
      /usr/local/lib/libopencv_face.so.4.4.0
      /usr/local/lib/libopencv_xphoto.so.4.4
      /usr/local/lib/libopencv_flann.so.4.4
      /usr/local/lib/libopencv_saliency.so.4.4.0
      /usr/local/lib/libopencv_ccalib.so.4.4.0
      /usr/local/lib/libopencv_rgbd.so.4.4.0
      /usr/local/lib/libopencv_structured_light.so
      /usr/local/lib/libopencv_dnn_superres.so
      /usr/local/lib/libopencv_flann.so.4.4.0
      /usr/local/lib/libopencv_imgproc.so.4.4.0
      /usr/local/lib/libopencv_xfeatures2d.so.4.4.0
      /usr/local/lib/libopencv_bgsegm.so.4.4.0
      /usr/local/lib/libopencv_ml.so
      /usr/local/lib/libopencv_flann.so
      /usr/local/lib/libopencv_bioinspired.so
      /usr/local/lib/libopencv_face.so.4.4
      /usr/local/lib/libopencv_fuzzy.so.4.4
      /usr/local/lib/libopencv_superres.so.4.4.0
      /usr/local/lib/libopencv_ml.so.4.4.0
      /usr/local/lib/libopencv_features2d.so
      /usr/local/lib/libopencv_rapid.so.4.4.0
      /usr/local/lib/libopencv_highgui.so.4.4
      /usr/local/lib/libopencv_gapi.so
      /usr/local/lib/libopencv_line_descriptor.so.4.4.0
      /usr/local/lib/libopencv_quality.so.4.4
      /usr/local/lib/libopencv_stereo.so
      /usr/local/lib/libopencv_xfeatures2d.so.4.4
      /usr/local/lib/libopencv_optflow.so.4.4.0
      /usr/local/lib/libopencv_tracking.so.4.4.0
      /usr/local/lib/libopencv_rapid.so
      /usr/local/lib/libopencv_videostab.so
      /usr/local/lib/libopencv_freetype.so.4.4
      /usr/local/lib/libopencv_calib3d.so.4.4
      /usr/local/lib/libopencv_intensity_transform.so
      /usr/local/lib/libopencv_imgcodecs.so
      /usr/local/lib/libopencv_stereo.so.4.4.0
      /usr/local/lib/libopencv_dpm.so.4.4
      /usr/local/lib/libopencv_freetype.so.4.4.0
      /usr/local/lib/libopencv_videostab.so.4.4
      /usr/local/lib/libopencv_quality.so
      /usr/local/lib/libopencv_surface_matching.so
      /usr/local/lib/libopencv_gapi.so.4.4.0
      /usr/local/lib/libopencv_line_descriptor.so
      /usr/local/lib/libopencv_ml.so.4.4
      /usr/local/lib/libopencv_photo.so
      /usr/local/lib/libopencv_optflow.so
      /usr/local/lib/libopencv_alphamat.so.4.4.0
      /usr/local/lib/libopencv_phase_unwrapping.so.4.4
      /usr/local/lib/libopencv_xobjdetect.so.4.4.0
      /usr/local/lib/libopencv_aruco.so.4.4.0
      /usr/local/lib/libopencv_face.so
      /usr/local/lib/libopencv_core.so.4.4
      /usr/local/lib/libopencv_fuzzy.so.4.4.0
      /usr/local/lib/libopencv_videostab.so.4.4.0
      /usr/local/lib/libopencv_stitching.so
      /usr/local/lib/libopencv_dnn.so.4.4
      /usr/local/lib/libopencv_photo.so.4.4.0
      /usr/local/lib/libopencv_ximgproc.so.4.4.0
      /usr/local/lib/libopencv_optflow.so.4.4
      /usr/local/lib/libopencv_aruco.so
      /usr/local/lib/libopencv_reg.so
      /usr/local/lib/libopencv_saliency.so.4.4
      /usr/local/lib/libopencv_datasets.so
      /usr/local/lib/libopencv_xobjdetect.so
      /usr/local/lib/libopencv_ccalib.so.4.4
      /usr/local/lib/libopencv_rgbd.so.4.4
      /usr/local/lib/libopencv_plot.so.4.4
      /usr/local/lib/libopencv_objdetect.so.4.4
      /usr/local/lib/libopencv_structured_light.so.4.4.0
      /usr/local/lib/libopencv_superres.so
      /usr/local/lib/libopencv_video.so
      /usr/local/lib/libopencv_tracking.so.4.4
      /usr/local/lib/libopencv_ximgproc.so.4.4
      /usr/local/lib/libopencv_imgproc.so.4.4
      /usr/local/lib/libopencv_features2d.so.4.4
      /usr/local/lib/libopencv_imgcodecs.so.4.4.0
      /usr/local/lib/libopencv_line_descriptor.so.4.4
      /usr/local/lib/libopencv_dnn_superres.so.4.4
      /usr/local/lib/libopencv_core.so
      /usr/share/doc/libopencv3.2-java
      /usr/share/doc/libopencv3.2-java/changelog.Debian.gz
      /usr/share/doc/libopencv3.2-java/copyright
      /usr/share/doc/libopencv-viz-dev
      /usr/share/doc/libopencv-viz-dev/changelog.Debian.gz
      /usr/share/doc/libopencv-viz-dev/copyright
      /usr/share/doc/libopencv-core3.2
      /usr/share/doc/libopencv-core3.2/changelog.Debian.gz
      /usr/share/doc/libopencv-core3.2/copyright
      /usr/share/doc/libopencv-video3.2
      /usr/share/doc/libopencv-video3.2/changelog.Debian.gz
      /usr/share/doc/libopencv-video3.2/copyright
      /usr/share/doc/libopencv-videoio-dev
      /usr/share/doc/libopencv-videoio-dev/changelog.Debian.gz
      /usr/share/doc/libopencv-videoio-dev/copyright
      /usr/share/doc/libopencv-photo-dev
      /usr/share/doc/libopencv-photo-dev/changelog.Debian.gz
      /usr/share/doc/libopencv-photo-dev/README.Debian
      /usr/share/doc/libopencv-photo-dev/copyright
      /usr/share/doc/libopencv-stitching-dev
      /usr/share/doc/libopencv-stitching-dev/changelog.Debian.gz
      /usr/share/doc/libopencv-stitching-dev/README.Debian
      /usr/share/doc/libopencv-stitching-dev/copyright
      /usr/share/doc/libopencv-videostab-dev
      /usr/share/doc/libopencv-videostab-dev/changelog.Debian.gz
      /usr/share/doc/libopencv-videostab-dev/README.Debian
      /usr/share/doc/libopencv-videostab-dev/copyright
      /usr/share/doc/libopencv-contrib-dev
      /usr/share/doc/libopencv-contrib-dev/changelog.Debian.gz
      /usr/share/doc/libopencv-contrib-dev/README.Debian
      /usr/share/doc/libopencv-contrib-dev/copyright
      /usr/share/doc/libopencv-imgcodecs-dev
      /usr/share/doc/libopencv-imgcodecs-dev/changelog.Debian.gz
      /usr/share/doc/libopencv-imgcodecs-dev/copyright
      /usr/share/doc/libopencv-videostab3.2
      /usr/share/doc/libopencv-videostab3.2/changelog.Debian.gz
      /usr/share/doc/libopencv-videostab3.2/copyright
      /usr/share/doc/libopencv-imgcodecs3.2
      /usr/share/doc/libopencv-imgcodecs3.2/changelog.Debian.gz
      /usr/share/doc/libopencv-imgcodecs3.2/copyright
      /usr/share/doc/libopencv-superres3.2
      /usr/share/doc/libopencv-superres3.2/changelog.Debian.gz
      /usr/share/doc/libopencv-superres3.2/copyright
      /usr/share/doc/libopencv-imgproc-dev
      /usr/share/doc/libopencv-imgproc-dev/changelog.Debian.gz
      /usr/share/doc/libopencv-imgproc-dev/README.Debian
      /usr/share/doc/libopencv-imgproc-dev/copyright
      /usr/share/doc/libopencv-contrib3.2
      /usr/share/doc/libopencv-contrib3.2/changelog.Debian.gz
      /usr/share/doc/libopencv-contrib3.2/copyright
      /usr/share/doc/libopencv-shape3.2
      /usr/share/doc/libopencv-shape3.2/changelog.Debian.gz
      /usr/share/doc/libopencv-shape3.2/copyright
      /usr/share/doc/libopencv-viz3.2
      /usr/share/doc/libopencv-viz3.2/changelog.Debian.gz
      /usr/share/doc/libopencv-viz3.2/copyright
      /usr/share/doc/libopencv-ml-dev
      /usr/share/doc/libopencv-ml-dev/changelog.Debian.gz
      /usr/share/doc/libopencv-ml-dev/README.Debian
      /usr/share/doc/libopencv-ml-dev/copyright
      /usr/share/doc/libopencv-highgui3.2
      /usr/share/doc/libopencv-highgui3.2/changelog.Debian.gz
      /usr/share/doc/libopencv-highgui3.2/copyright
      /usr/share/doc/libopencv-flann-dev
      /usr/share/doc/libopencv-flann-dev/changelog.Debian.gz
      /usr/share/doc/libopencv-flann-dev/README.Debian
      /usr/share/doc/libopencv-flann-dev/copyright
      /usr/share/doc/libopencv-ml3.2
      /usr/share/doc/libopencv-ml3.2/changelog.Debian.gz
      /usr/share/doc/libopencv-ml3.2/copyright
      /usr/share/doc/libopencv-ts-dev
      /usr/share/doc/libopencv-ts-dev/changelog.Debian.gz
      /usr/share/doc/libopencv-ts-dev/README.Debian
      /usr/share/doc/libopencv-ts-dev/copyright
      /usr/share/doc/libopencv-features2d-dev
      /usr/share/doc/libopencv-features2d-dev/changelog.Debian.gz
      /usr/share/doc/libopencv-features2d-dev/README.Debian
      /usr/share/doc/libopencv-features2d-dev/copyright
      /usr/share/doc/libopencv3.2-jni
      /usr/share/doc/libopencv3.2-jni/changelog.Debian.gz
      /usr/share/doc/libopencv3.2-jni/copyright
      /usr/share/doc/libopencv-video-dev
      /usr/share/doc/libopencv-video-dev/changelog.Debian.gz
      /usr/share/doc/libopencv-video-dev/README.Debian
      /usr/share/doc/libopencv-video-dev/copyright
      /usr/share/doc/libopencv-shape-dev
      /usr/share/doc/libopencv-shape-dev/changelog.Debian.gz
      /usr/share/doc/libopencv-shape-dev/copyright
      /usr/share/doc/libopencv-highgui-dev
      /usr/share/doc/libopencv-highgui-dev/changelog.Debian.gz
      /usr/share/doc/libopencv-highgui-dev/README.Debian
      /usr/share/doc/libopencv-highgui-dev/copyright
      /usr/share/doc/libopencv-calib3d3.2
      /usr/share/doc/libopencv-calib3d3.2/changelog.Debian.gz
      /usr/share/doc/libopencv-calib3d3.2/copyright
      /usr/share/doc/libopencv-objdetect-dev
      /usr/share/doc/libopencv-objdetect-dev/changelog.Debian.gz
      /usr/share/doc/libopencv-objdetect-dev/README.Debian
      /usr/share/doc/libopencv-objdetect-dev/copyright
      /usr/share/doc/libopencv-calib3d-dev
      /usr/share/doc/libopencv-calib3d-dev/changelog.Debian.gz
      /usr/share/doc/libopencv-calib3d-dev/README.Debian
      /usr/share/doc/libopencv-calib3d-dev/copyright
      /usr/share/doc/libopencv-core-dev
      /usr/share/doc/libopencv-core-dev/changelog.Debian.gz
      /usr/share/doc/libopencv-core-dev/README.Debian
      /usr/share/doc/libopencv-core-dev/copyright
      /usr/share/doc/libopencv-superres-dev
      /usr/share/doc/libopencv-superres-dev/changelog.Debian.gz
      /usr/share/doc/libopencv-superres-dev/README.Debian
      /usr/share/doc/libopencv-superres-dev/copyright
      /usr/share/doc/libopencv-photo3.2
      /usr/share/doc/libopencv-photo3.2/changelog.Debian.gz
      /usr/share/doc/libopencv-photo3.2/copyright
      /usr/share/doc/libopencv-stitching3.2
      /usr/share/doc/libopencv-stitching3.2/changelog.Debian.gz
      /usr/share/doc/libopencv-stitching3.2/copyright
      /usr/share/doc/libopencv-videoio3.2
      /usr/share/doc/libopencv-videoio3.2/changelog.Debian.gz
      /usr/share/doc/libopencv-videoio3.2/copyright
      /usr/share/doc/libopencv-imgproc3.2
      /usr/share/doc/libopencv-imgproc3.2/changelog.Debian.gz
      /usr/share/doc/libopencv-imgproc3.2/copyright
      /usr/share/doc/libopencv-flann3.2
      /usr/share/doc/libopencv-flann3.2/changelog.Debian.gz
      /usr/share/doc/libopencv-flann3.2/copyright
      /usr/share/doc/libopencv-features2d3.2
      /usr/share/doc/libopencv-features2d3.2/changelog.Debian.gz
      /usr/share/doc/libopencv-features2d3.2/copyright
      /usr/share/doc/libopencv-objdetect3.2
      /usr/share/doc/libopencv-objdetect3.2/changelog.Debian.gz
      /usr/share/doc/libopencv-objdetect3.2/copyright
      /usr/share/doc/libopencv-dev
      /usr/share/doc/libopencv-dev/changelog.Debian.gz
      /usr/share/doc/libopencv-dev/copyright
      /usr/share/lintian/overrides/libopencv-contrib3.2
      /usr/share/lintian/overrides/libopencv3.2-jni
      /usr/lib/jni/libopencv_java320.so
      /usr/lib/arm-linux-gnueabihf/libopencv_ximgproc.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_videoio.so
      /usr/lib/arm-linux-gnueabihf/libopencv_shape.a
      /usr/lib/arm-linux-gnueabihf/libopencv_freetype.so
      /usr/lib/arm-linux-gnueabihf/libopencv_hdf.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_face.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_text.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_bgsegm.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_xphoto.a
      /usr/lib/arm-linux-gnueabihf/libopencv_phase_unwrapping.a
      /usr/lib/arm-linux-gnueabihf/libopencv_stitching.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_phase_unwrapping.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_photo.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_objdetect.a
      /usr/lib/arm-linux-gnueabihf/libopencv_viz.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_plot.so
      /usr/lib/arm-linux-gnueabihf/libopencv_videoio.a
      /usr/lib/arm-linux-gnueabihf/libopencv_objdetect.so
      /usr/lib/arm-linux-gnueabihf/libopencv_features2d.a
      /usr/lib/arm-linux-gnueabihf/libopencv_imgproc.so
      /usr/lib/arm-linux-gnueabihf/libopencv_objdetect.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_plot.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_freetype.a
      /usr/lib/arm-linux-gnueabihf/libopencv_calib3d.a
      /usr/lib/arm-linux-gnueabihf/libopencv_saliency.so
      /usr/lib/arm-linux-gnueabihf/libopencv_xphoto.so
      /usr/lib/arm-linux-gnueabihf/libopencv_aruco.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_bgsegm.so
      /usr/lib/arm-linux-gnueabihf/libopencv_stitching.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_line_descriptor.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_videostab.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_videoio.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_rgbd.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_shape.so
      /usr/lib/arm-linux-gnueabihf/libopencv_dpm.so
      /usr/lib/arm-linux-gnueabihf/libopencv_shape.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_objdetect.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_optflow.a
      /usr/lib/arm-linux-gnueabihf/libopencv_ximgproc.so
      /usr/lib/arm-linux-gnueabihf/libopencv_stereo.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_calib3d.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_text.a
      /usr/lib/arm-linux-gnueabihf/libopencv_viz.a
      /usr/lib/arm-linux-gnueabihf/libopencv_face.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_calib3d.so
      /usr/lib/arm-linux-gnueabihf/libopencv_dpm.a
      /usr/lib/arm-linux-gnueabihf/libopencv_freetype.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_ccalib.so
      /usr/lib/arm-linux-gnueabihf/libopencv_surface_matching.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_surface_matching.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_xobjdetect.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_rgbd.so
      /usr/lib/arm-linux-gnueabihf/libopencv_text.so
      /usr/lib/arm-linux-gnueabihf/libopencv_saliency.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_ximgproc.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_freetype.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_phase_unwrapping.so
      /usr/lib/arm-linux-gnueabihf/libopencv_videoio.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_fuzzy.so
      /usr/lib/arm-linux-gnueabihf/libopencv_fuzzy.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_stereo.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_aruco.a
      /usr/lib/arm-linux-gnueabihf/libopencv_video.a
      /usr/lib/arm-linux-gnueabihf/libopencv_imgcodecs.a
      /usr/lib/arm-linux-gnueabihf/libopencv_highgui.so
      /usr/lib/arm-linux-gnueabihf/libopencv_shape.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_imgcodecs.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_xobjdetect.a
      /usr/lib/arm-linux-gnueabihf/libopencv_datasets.a
      /usr/lib/arm-linux-gnueabihf/libopencv_hdf.a
      /usr/lib/arm-linux-gnueabihf/libopencv_videostab.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_fuzzy.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_calib3d.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_phase_unwrapping.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_bioinspired.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_reg.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_text.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_videostab.a
      /usr/lib/arm-linux-gnueabihf/libopencv_highgui.a
      /usr/lib/arm-linux-gnueabihf/libopencv_ml.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_structured_light.so
      /usr/lib/arm-linux-gnueabihf/libopencv_flann.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_reg.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_stereo.a
      /usr/lib/arm-linux-gnueabihf/libopencv_superres.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_highgui.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_ml.so
      /usr/lib/arm-linux-gnueabihf/libopencv_flann.so
      /usr/lib/arm-linux-gnueabihf/libopencv_bioinspired.so
      /usr/lib/arm-linux-gnueabihf/libopencv_imgcodecs.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_highgui.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_structured_light.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_bioinspired.a
      /usr/lib/arm-linux-gnueabihf/libopencv_dpm.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_saliency.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_ximgproc.a
      /usr/lib/arm-linux-gnueabihf/libopencv_ccalib.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_features2d.so
      /usr/lib/arm-linux-gnueabihf/libopencv_saliency.a
      /usr/lib/arm-linux-gnueabihf/libopencv_features2d.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_viz.so
      /usr/lib/arm-linux-gnueabihf/libopencv_core.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_stereo.so
      /usr/lib/arm-linux-gnueabihf/libopencv_superres.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_structured_light.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_imgproc.a
      /usr/lib/arm-linux-gnueabihf/libopencv_video.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_line_descriptor.a
      /usr/lib/arm-linux-gnueabihf/libopencv_line_descriptor.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_bioinspired.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_videostab.so
      /usr/lib/arm-linux-gnueabihf/libopencv_hdf.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_ts.a
      /usr/lib/arm-linux-gnueabihf/libopencv_xphoto.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_imgcodecs.so
      /usr/lib/arm-linux-gnueabihf/libopencv_ccalib.a
      /usr/lib/arm-linux-gnueabihf/libopencv_surface_matching.so
      /usr/lib/arm-linux-gnueabihf/libopencv_ml.a
      /usr/lib/arm-linux-gnueabihf/libopencv_aruco.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_line_descriptor.so
      /usr/lib/arm-linux-gnueabihf/libopencv_xphoto.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_superres.a
      /usr/lib/arm-linux-gnueabihf/libopencv_photo.so
      /usr/lib/arm-linux-gnueabihf/libopencv_optflow.so
      /usr/lib/arm-linux-gnueabihf/libopencv_imgproc.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_ml.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_plot.a
      /usr/lib/arm-linux-gnueabihf/libopencv_optflow.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_features2d.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_datasets.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_stitching.a
      /usr/lib/arm-linux-gnueabihf/libopencv_optflow.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_face.so
      /usr/lib/arm-linux-gnueabihf/libopencv_photo.a
      /usr/lib/arm-linux-gnueabihf/libopencv_stitching.so
      /usr/lib/arm-linux-gnueabihf/libopencv_dpm.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_photo.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_hdf.so
      /usr/lib/arm-linux-gnueabihf/libopencv_fuzzy.a
      /usr/lib/arm-linux-gnueabihf/libopencv_core.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_aruco.so
      /usr/lib/arm-linux-gnueabihf/libopencv_viz.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_reg.so
      /usr/lib/arm-linux-gnueabihf/libopencv_structured_light.a
      /usr/lib/arm-linux-gnueabihf/libopencv_flann.a
      /usr/lib/arm-linux-gnueabihf/libopencv_bgsegm.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_bgsegm.a
      /usr/lib/arm-linux-gnueabihf/libopencv_datasets.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_datasets.so
      /usr/lib/arm-linux-gnueabihf/libopencv_xobjdetect.so
      /usr/lib/arm-linux-gnueabihf/libopencv_plot.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_surface_matching.a
      /usr/lib/arm-linux-gnueabihf/libopencv_xobjdetect.so.3.2
      /usr/lib/arm-linux-gnueabihf/libopencv_imgproc.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_superres.so
      /usr/lib/arm-linux-gnueabihf/libopencv_core.a
      /usr/lib/arm-linux-gnueabihf/libopencv_video.so
      /usr/lib/arm-linux-gnueabihf/libopencv_face.a
      /usr/lib/arm-linux-gnueabihf/libopencv_flann.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_video.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_rgbd.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_reg.a
      /usr/lib/arm-linux-gnueabihf/libopencv_ccalib.so.3.2.0
      /usr/lib/arm-linux-gnueabihf/libopencv_core.so
      /usr/lib/arm-linux-gnueabihf/libopencv_rgbd.a

      find /usr | grep libopencv 이렇게 검색했을때에 위에 파일목록입니다

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.09.25 21:21 신고

      다음 처럼 지우세요
      라이브러리만 지우면 됩니다.

      sudo rm /usr/lib/arm-linux-gnueabihf/libopencv_*3.2

      sudo rm /usr/lib/arm-linux-gnueabihf/libopencv_*3.2.0

  19. liberty67 2020.10.21 14:35

    좋은 정보 감사합니다.
    우분투 18.04에서 4.4.0을 설치하고 있는데 올바르게 설치하고 pkg-config --modversion opencv 명령어를 입력해도
    설치하지 않은 상태라고 나오는데 혹시 어떤 문제일까요??
    pkg-config --cflags opencv 명령어를 입력해도 같은 상황입니다.
    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

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.10.21 23:02 신고

      opencv가 아니라 opencv4로 입력하세요

      pkg-config --modversion opencv4

      pkg-config --cflags opencv4

    • BlogIcon liberty67 2020.10.22 00:01

      감사합니다.

      4.4.0 으로 잘나오네요 :)

  20. 안녕하세요 2020.11.02 23:32

    안녕하세요, 감사하게 포스팅에 도움받아 OPENCV 설치 후 pkg-config --modversion opencv4 해도 확인이 되지 않아 질문드립니다,,
    cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local/bin \
    -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 \
    -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 \
    -D CUDA_NVCC_FLAGS=--expt-relaxed-constexpr \
    ../
    다음과 같이 flag를 입력후에 make, sudo make install 이후 과정 또한 오류없이 진행해서 설치되었다고 생각했는데 확인이 되질 않네요 ㅠㅠ 혹시 도움 얻을 수 있을까요?

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.11.03 22:06 신고

      다음처럼 검색했을때 다음 위치에 opencv4.pc가 있어야 합니다.
      없으면 빌드시 문제가 있는 것이며 다른 위치에 있다면 아래 처럼 복사해주세요

      webnautes@webnautes-pc:~$ sudo find / | grep opencv4.pc
      /usr/local/lib/pkgconfig/opencv4.pc

  21. Favicon of https://deepflowest.tistory.com BlogIcon Orange57 2020.11.17 10:18 신고

    안녕하세요. 위 과정을 따라서 설치까지 다 진행하였는데, 마지막에 import cv2 하는 부분에서 다음과 같은 에러가 뜹니다.

    ImportError: libopencv_quality.so.4.2: cannot open shared object file: No such file or directory

    혹시 어느 부분에서 문제가 생긴건지 알려주실 수 있나요??

    • Favicon of https://webnautes.tistory.com BlogIcon webnautes 2020.11.17 11:00 신고

      find와 grep 명령으로 위 파일이 존재하나 검색해보세요

      find /usr | grep libopencv_quality

+ Recent posts