1、進入Opencv官網,下載Opencv 4.1.1.zip,並放到linux工作目錄下;
2、unzip 命令解壓;
3、安裝依賴工具:
sudo apt-get install cmake;
sudo apt-get install build-essential;
sudo apt-get install libgtk2.0-dev(2.0以上的版本);
sudo apt-get install pkg-config;
sudo apt-get install python-dev python-numpy;
sudo apt-get install libavformat-dev libavcodec-dev libswscale-dev libtbb2 libtbb-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libdc1394-22-dev;
4、cd opencv-4.1.1;
mkdir release;
cmake -DCMAKE_BUILD_TYPE=Release -DOPENCV_GENERATE_PKGCONFIG=ON -DCMAKE_INSTALL_PREFIX=/usr/local ..;
opencv4默認不生成.pc文件,加上OPENCV_GENERATE_PKGCONFIG=ON 才會生成,生成的opencv4.pc存放在/usr/local/lib/pkgconfig下(注意生成的不是opencv.pc,版本原因,后面編譯的時候參數應該是opencv4而不是opencv);
5、make -j8; (make的時候可能因為內存不夠而報錯,c++: internal compiler error: Killed (program cc1plus,在運行的時候可以分配多點內存給Ubuntu,我用的虛擬機直接分配了8G,內存不夠的話可以網上找swap方法解決)
sudo make install;
6、配置C++:sudo nano /etc/ld.so.conf.d/opencv4.conf,最后一行(如果文件為空也沒關系)添加/usr/local/lib;
7、配置庫:sudo ldconfig;
8、添加環境變量:sudo gedit /etc/profile 最后添加export PATH="/usr/local/lib/pkgconfig:$PATH", 之后source一下;
9、g++ test.cpp -o test `pkg-config --cflags --libs opencv4` 說明:`pkg-config --cflags --libs opencv4`告訴程序從opencv4.pc里頭找相應的頭和庫。
10、出現錯誤
/usr/local/include/opencv4/opencv2/core/cvdef.h:690:4: error: #error "OpenCV 4.x+ requires enabled C++11 support"
# error "OpenCV 4.x+ requires enabled C++11 support" 原因應該是當前編譯環境處於C++11以下的版本;
11、我用的gcc版本是5.4.0的,貌似默認不支持C++11,需要在編譯的時候加上-std=c++11,
g++ -std=c++11 test.cpp -o test `pkg-config --cflags --libs opencv4` 這樣就通過了。