Ubuntu 20.04 OpenCV 설치하기
OpenCV (Open Source Computer Vision)은 실시간 컴퓨터비전 개발을 위한 프로그래밍 라이브러리이다. 초기에는 인텔이 개발하였기 때문에, CPU에서 가속되는 IPP(Intel Performance Primitives)를 지원한다. 현재 OpenCV 는 윈도우, 리눅스 등에서 사용 가능한 크로스 플랫폼이며 오픈소스 BSD 허가서 하에서 무료로 사용할 수 있다. OpenCV는 TensorFlow, Torch / PyTorch 및 Caffe의 딥러닝 프레임워크를 지원한다. (위키백과, 우리 모두의 백과사전)
컴퓨터버전을 위한 OpenCV
우분투 20.04 OpenCV 설치하기
우분투 apt-get install 명령어를 통해 OpenCV 에서 필요한 종속 패키지를 설치한다. 종속 패키지에는 소프트웨어 이미지 코덱, gst-reamer, GTK 이 포함된다. (Ubuntu 20.04 기준)
$ sudo apt install libjpeg-dev libtiff5-dev libpng-dev libavcodec-dev libavformat-dev \
libswscale-dev libdc1394-22-dev libxvidcore-dev libx264-dev libxine2-dev libv4l-dev \
v4l-utils libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgtk-3-dev
wget 를 통해 opencv 소스코드를 다운로드 한다. 두개의 파일명이 동일하기 때문에, -O 옵션으로 이름을 별도로 지정하자.
$ wget -O opencv-4.0.0.zip https://github.com/opencv/opencv/archive/4.0.0.zip
$ wget -O opencv_contrib-4.0.0.zip https://github.com/opencv/opencv_contrib/archive/4.0.0.zip
$ unzip opencv-4.0.0.zip
$ unzip opencv_contrib-4.0.0.zip
다운로드가 완료되면 각각 압축을 푼다. 아래 디렉토리 구조를 참고한다.
~/opencv$ ll
total 148952
drwxr-xr-x 16 4096 Apr 2 18:20 ../
drwxrwxr-x 11 4096 Nov 18 2018 opencv-4.0.0/
-rw-rw-r-- 1 91053596 Apr 2 18:24 opencv-4.0.0.zip
drwxrwxr-x 6 4096 Nov 17 2018 opencv_contrib-4.0.0/
-rw-rw-r-- 1 61452686 Apr 2 18:24 opencv_contrib-4.0.0.zip
build 를 위한 디렉토리를 별도로 생성한다. cmake 명령을 사용해서 Makefile 을 생성하고, make 명령으로 OpenCV 소스코드를 빌드한다.
$ mkdir build && cd build
$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_WITH_DEBUG_INFO=OFF -D BUILD_EXAMPLES=ON -D BUILD_opencv_python3=ON -D INSTALL_PYTHON_EXAMPLES=ON -D OPENCV_ENABLE_NONFREE=ON -D OPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.0.0/modules -D OPENCV_GENERATE_PKGCONFIG=ON -D WITH_TBB=ON ../opencv-4.0.0/
$ make
OpenCV 소스코드를 빌드 후에, 설치와 설정을 완료한다.
$ sudo make install
$ sudo ldconfig
간단한 OpenCV 어플리케이션 실행하기
OpenCV 가 정상적으로 빌드, 설치되었는지 확인하자. 아래 git 를 clone 하고 cmake 를 통해 빌드하여 실행해본다.
https://github.com/makepluscode/hello-opencv/tree/master
참고자료
OpenCV 공식 홈페이지
'프로그래밍 > OpenCV' 카테고리의 다른 글
[OPENCV] SGBM vs StereoBM 깊이맵 결과 비교 (1) | 2022.06.15 |
---|---|
[OPENCV] 스테레오 깊이맵 성능 높이기 (0) | 2022.06.15 |
[OPENCV] GSTREAMER 를 이용한 이미지 캡처 (0) | 2022.06.13 |
[OPENCV] 스테레오 카메라 StereoBM 예제 첫번째 (0) | 2022.06.12 |
[OPENCV] Ubuntu 18.04 OpenCV 4.2.0 설치하기 (0) | 2022.06.10 |
[OPENCV] MAT 클래스 type 이해하기 (0) | 2022.06.10 |
[OPENCV] 여러개 이미지 합성 + 합치기 C++ 예제 (0) | 2022.06.09 |
[OPENCV] CMake opencv 샘플 예제 (0) | 2021.10.03 |