下載和添加依賴包
1、首先更新 apt-get,在安裝前最好先更新一下系統,不然有可能會安裝失敗。在終端輸入:
sudo apt-get update
sudo apt-get upgrade
2、接着安裝官方給的opencv依賴包,在終端輸入:
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev\然后下載OpenCV3.2.0和OpenCV_contrib-3.2.0,下載需要等待一段時間
https://github.com/Itseez/opencv/archive/3.2.0.zip
https://github.com/opencv/opencv_contrib/archive/3.2.0.zip
3、接下來安裝CMake-gui,在終端輸入
sudo apt-get install cmake-qt-gui
三、配置OpenCV
1、將OpenCV3.2.0和OpenCV_contrib-3.2.0解壓(提取),如圖所示
2、雙擊進入解壓出來的OpenCV3.2.0文件夾,右鍵打開終端(或者在別處打開終端,通過輸入cd opencv3.2.0進入當前目錄下),然后依次輸入(不要忘了第三行的最后的空格和兩個點):
mkdir build
cd build
cmake-gui ..
3、然后會彈出CMake的圖形化界面,在上方的兩個路徑里面,選擇好代碼所在文件夾的路徑和要安裝的路徑
4、點擊左下方的Configure按鈕,選擇Unix Makefiles,選擇Use default native compilers(默認),然后點擊Finish
5、需要下載一些文件,要等待一段時間。然后CMake即載入默認配置
窗口的中間部分即配置列表,這里和使用cmake命令直接生成makefile文件一致的。正如上文所述,這里通過圖形界面的方式來進行配置,更加直觀方便。
6、這里需要對兩個地方進行修改:
(1)在CMAKE_BUILD_TYPE 值處輸入RELEASE,其他保持不變(如果已經存在就不必修改)。
下方的CMAKE_INSTALL_PREFIX顯示了默認的安裝目錄,生成makefile文件最后執行 make install時就會安裝到這個目錄,這里可以根據個人需求更改。我這里就不做修改了。
(2)在OPENCV_EXTRA_MODULES_PATH處,選擇輸入目錄(單擊這一行后方空白處即可選中)
然后選擇opencv_contrib-3.2.0文件夾中的modules文件夾,注意,不是只選中opencv_contrib-3.2.0文件夾就好了,需要選中里面的modules文件夾! 如下圖所示,然后點Choose。
注:OPENCV_EXTRA_MODULES_PATH 是用來指定要編譯的擴展模塊,其中包括OpenCV_contrib模塊。
7、點擊Generate生成配置文件,這一步應該比較快就完成了。
8、接着,在build目錄下打開終端,輸入
make
sudo make install
9、然后就開始安裝了,這一步又需要等比較長的時間了……不要急,進行到這一步說明很快就能安裝成功了~
當你執行完上面兩行命令的時候,並看到100%的時候,恭喜你!安裝成功!
四、配置環境變量
1、安裝成功后還需要設置opencv的環境變量。打開文件:
sudo gedit /etc/ld.so.conf.d/opencv.conf
2、將以下內容添加到最后:
/usr/local/lib
3、接下來配置庫:
sudo ldconfig
4、更改環境變量:
sudo gedit /etc/bash.bashrc
5、在文件后添加:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
6、保存退出,在運行下面的例程之前,需要重新開啟終端來使配置生效。
到此,安裝和配置的整個過程都完成了!
五、測試
1、在終端運行命令:pkg-config --cflags --libs opencv 出現下面信息:
licaibiao@ubuntu:~/test/OpenCV$ pkg-config --cflags --libs opencv
-I/usr/local/include/opencv -I/usr/local/include -L/usr/local/lib -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_core
licaibiao@ubuntu:~/test/OpenCV$
2、運行一個打開圖片的程序。
(1)在任意位置,新建一個文件夾test。
(2)創建DisplayImage.cpp文件,並輸入以下代碼,保存。
#include <cv.h>
#include <highgui.h>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main( int argc, char** argv )
{
Mat image;
image = imread( argv[1], 1 );
if( argc != 2 || !image.data )
{
printf( "No image data \n" );
return -1;
}
namedWindow( "Display Image", CV_WINDOW_AUTOSIZE );
imshow( "Display Image", image );
waitKey(0);
return 0;
}
(3)用CMake編譯:添加一個CMakeLists.txt 文件,內容如下,保存
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
(4)在test文件夾中右鍵,打開終端,執行以下命令,生成執行文件 DisplayImage。(這里cmake后面一個點就夠了,表示在當前目錄下執行cmake操作)
cmake .
make
(5)選擇一張圖片,復制到test文件夾中,並且重命名為test.jpg
(6)在終端運行以下代碼
./DisplayImage test.jpg
如果以上步驟都安裝和配置成功,可以顯示出圖片: