熱線電話:0755-23712116
郵箱:contact@shuangyi-tech.com
地址:深圳市寶安區(qū)沙井街道后亭茅洲山工業(yè)園工業(yè)大廈全至科技創(chuàng)新園科創(chuàng)大廈2層2A
初次嘗試在Ubuntu上面安裝OpenCV,遇到了各種奇奇怪怪的問題,也查了好多博客和相關(guān)說明,弄了好久好久終于,完成了。我本著方便和幫助更多跟我一樣剛?cè)腴TOpenCV的小伙伴的初衷,寫下這篇文章,希望能幫助大家,讓大家少走彎路。
為了更好地展示其中的每個(gè)細(xì)節(jié),我特意重新安裝了一遍,把自己的步驟自己再走一遍保證其正確性,順便截圖給大家看。當(dāng)然在寫的過程中,也參考了一些博客和網(wǎng)址,盡可能把問題講清楚講明白。相關(guān)參考見文章最后。
好了話不多說,下面進(jìn)入正題!
OpenCV3.0以上的版本,把一些不穩(wěn)定的函數(shù)放到了第三方庫(kù)OpenCV_contrib中(比如sift,surf等),為了應(yīng)用這些功能,我們需要通過CMake把OpenCV_contrib中的功能重新加入到OpenCV3.2.0中。
關(guān)于OpenCV_contrib,可以參見官方說明:https://github.com/opencv/opencv_contrib/blob/master/README.md
這里我主要使用CMake-gui這個(gè)圖形化界面進(jìn)行安裝(因?yàn)樽约簩?duì)ubuntu的命令不太熟悉…總是出錯(cuò)但又不知道怎么解決掉)。當(dāng)然,也可以用終端直接輸入命令操作,可以參考其他博客,這里就不再討論。
1、首先更新 apt-get,在安裝前最好先更新一下系統(tǒng),不然有可能會(huì)安裝失敗。在終端輸入:
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,下載需要等待一段時(shí)間
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解壓(提?。鐖D所示
2、雙擊進(jìn)入解壓出來的OpenCV3.2.0文件夾,右鍵打開終端(或者在別處打開終端,通過輸入cd opencv3.2.0進(jìn)入當(dāng)前目錄下),然后依次輸入(不要忘了第三行的最后的空格和兩個(gè)點(diǎn)):
mkdir build
cd build
cmake-gui ..
3、然后會(huì)彈出CMake的圖形化界面,在上方的兩個(gè)路徑里面,選擇好代碼所在文件夾的路徑和要安裝的路徑
4、點(diǎn)擊左下方的Configure按鈕,選擇Unix Makefiles,選擇Use default native compilers(默認(rèn)),然后點(diǎn)擊Finish
5、需要下載一些文件,要等待一段時(shí)間。然后CMake即載入默認(rèn)配置,如下圖所示:
窗口的中間部分即配置列表,這里和使用cmake命令直接生成makefile文件一致的。正如上文所述,這里通過圖形界面的方式來進(jìn)行配置,更加直觀方便。
6、這里需要對(duì)兩個(gè)地方進(jìn)行修改:
(1)在CMAKE_BUILD_TYPE 值處輸入RELEASE,其他保持不變(如果已經(jīng)存在就不必修改)。
下方的CMAKE_INSTALL_PREFIX顯示了默認(rèn)的安裝目錄,生成makefile文件最后執(zhí)行 make install時(shí)就會(huì)安裝到這個(gè)目錄,這里可以根據(jù)個(gè)人需求更改。我這里就不做修改了。
(2)在OPENCV_EXTRA_MODULES_PATH處,選擇輸入目錄(單擊這一行后方空白處即可選中)
然后選擇opencv_contrib-3.2.0文件夾中的modules文件夾,注意,不是只選中opencv_contrib-3.2.0文件夾就好了,需要選中里面的modules文件夾! 如下圖所示,然后點(diǎn)Choose。
注:OPENCV_EXTRA_MODULES_PATH 是用來指定要編譯的擴(kuò)展模塊,其中包括OpenCV_contrib模塊。
7、點(diǎn)擊Generate生成配置文件,這一步應(yīng)該比較快就完成了。
8、接著,在build目錄下打開終端,輸入
make9、然后就開始安裝了,這一步又需要等比較長(zhǎng)的時(shí)間了……不要急,進(jìn)行到這一步說明很快就能安裝成功了~
當(dāng)你執(zhí)行完上面兩行命令的時(shí)候,并看到100%的時(shí)候,恭喜你!安裝成功!
1、安裝成功后還需要設(shè)置opencv的環(huán)境變量。打開文件:
sudo gedit /etc/ld.so.conf.d/opencv.conf
2、將以下內(nèi)容添加到最后:
/usr/local/lib
3、接下來配置庫(kù):
sudo ldconfig
4、更改環(huán)境變量:
sudo gedit /etc/bash.bashrc
5、在文件后添加:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig6、保存退出,在運(yùn)行下面的例程之前,需要重新開啟終端來使配置生效。
到此,安裝和配置的整個(gè)過程都完成了!
1、在終端運(yùn)行命令:
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、運(yùn)行一個(gè)打開圖片的程序。
(1)在任意位置,新建一個(gè)文件夾test。
(2)創(chuàng)建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編譯:添加一個(gè)CMakeLists.txt 文件,內(nèi)容如下,保存
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
(4)在test文件夾中右鍵,打開終端,執(zhí)行以下命令,生成執(zhí)行文件 DisplayImage。(這里cmake后面一個(gè)點(diǎn)就夠了,表示在當(dāng)前目錄下執(zhí)行cmake操作)
cmake .
make
(5)選擇一張圖片,復(fù)制到test文件夾中,并且重命名為test.jpg
(6)在終端運(yùn)行以下代碼
./DisplayImage test.jpg
如果以上步驟都安裝和配置成功,可以顯示出圖片:
大功告成!
希望大家都所有收獲,有所成就!
文章轉(zhuǎn)自https://blog.csdn.net/jindunwan7388/article/details/80397700