熱線電話:0755-23712116
郵箱:contact@shuangyi-tech.com
地址:深圳市寶安區沙井街道后亭茅洲山工業園工業大廈全至科技創新園科創大廈2層2A
初次嘗試在Ubuntu上面安裝OpenCV,遇到了各種奇奇怪怪的問題,也查了好多博客和相關說明,弄了好久好久終于,完成了。我本著方便和幫助更多跟我一樣剛入門OpenCV的小伙伴的初衷,寫下這篇文章,希望能幫助大家,讓大家少走彎路。
為了更好地展示其中的每個細節,我特意重新安裝了一遍,把自己的步驟自己再走一遍保證其正確性,順便截圖給大家看。當然在寫的過程中,也參考了一些博客和網址,盡可能把問題講清楚講明白。相關參考見文章最后。
好了話不多說,下面進入正題!
OpenCV3.0以上的版本,把一些不穩定的函數放到了第三方庫OpenCV_contrib中(比如sift,surf等),為了應用這些功能,我們需要通過CMake把OpenCV_contrib中的功能重新加入到OpenCV3.2.0中。
關于OpenCV_contrib,可以參見官方說明:https://github.com/opencv/opencv_contrib/blob/master/README.md
這里我主要使用CMake-gui這個圖形化界面進行安裝(因為自己對ubuntu的命令不太熟悉…總是出錯但又不知道怎么解決掉)。當然,也可以用終端直接輸入命令操作,可以參考其他博客,這里就不再討論。
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
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目錄下打開終端,輸入
make9、然后就開始安裝了,這一步又需要等比較長的時間了……不要急,進行到這一步說明很快就能安裝成功了~
當你執行完上面兩行命令的時候,并看到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/pkgconfig6、保存退出,在運行下面的例程之前,需要重新開啟終端來使配置生效。
到此,安裝和配置的整個過程都完成了!
1、在終端運行命令:
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
#include
#include
#include
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
如果以上步驟都安裝和配置成功,可以顯示出圖片:
大功告成!
希望大家都所有收獲,有所成就!
文章轉自https://blog.csdn.net/jindunwan7388/article/details/80397700