일구공구
[c++]Ubuntu20.04 Opencv 설치 본문
Version check
$ pkg-config --modversion opencv
- 아무것도 뜨지 않으면 설치 안 되어있다는 소리
- 버전이 나온다면 아래로 opencv 설치를 지우고 설치 진행하자
삭제
- liboopencv와 python-opencv 파일 삭제
- 자동 제거
- opencv 저장소 파일 삭제
$ sudo apt-get purge libopencv* python-opencv $ sudo apt-get autoremove $ sudo find /usr/local/ -name "*opencv*" -exec rm -i {} \;
업그레이드
$ sudo apt update && sudo apt upgrade
Opencv 필요 패키지 설치
$ sudo apt-get install build-essential cmake && 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 && 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
Opencv settings, compile and install
$ mkdir opencv
$ cd opencv
$ git clone https://github.com/opencv/opencv.git
$ cd opencv
$ git checkout 4.2.0
$ cd ..
$ git clone https://github.com/opencv/opencv_contrib.git
$ cd opencv_contrib
$ git checkout 4.2.0
opencv/opencv
opencv/opencv_contrib
이렇게 파일이 생성됨
-> 각각 opencv 와 opencv_contirb 파일 안에서 git checkout <version>
을 해 주어야함
$ cd ..
$ cd opencv
#지금 나의 경로는 ~opencv/opencv
$ mkdir -p build && cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \
-D BUILD_EXAMPLES=ON ..
coplie
$ nproc
# 본인 cpu core 수를 알 수 있음
$ make -j8
# -j8은 cpu 코어수를 뜻함 본인 코어 수에 맞게 진행
$ sudo make install
-> install opencv
opencv install check
$ pkg-config --modversion opencv4
버전이 나오면 설치 완료
check
test.cpp 파일을 생성한다
#include "opencv2/opencv.hpp"
#include <iostream>
using namespace cv;
using namespace std;
int main(void)
{
Mat img = imread("Opencv.png");
if (img.empty()) {
cerr << "Image load failed!" << endl;
return -1;
}
namedWindow("image");
imshow("image", img);
waitKey(0);
return 0;
}
당연히 이미지도 같이 들어 있어야 함
$ g++ -ggdb test.cpp -o test `pkg-config --cflags --libs opencv`
$ ./test
확인 가능
[참고]
[1]https://linuxize.com/post/how-to-install-opencv-on-ubuntu-20-04/
'CE > OpenCV_C++' 카테고리의 다른 글
[OpenCV with C++]OpenCV 주요 클래스 (0) | 2021.02.23 |
---|