Ubuntu14.04系统下安装配置OpenCV 4.0.0开发环境全过程
最近研究一個(gè)項(xiàng)目時(shí)需要用到OpenCV,于是自己嘗試在Ubuntu 14.04系統(tǒng)下安裝了這個(gè)開發(fā)環(huán)境。下面就將具體的過程記錄一下,便于后期查閱和同行分享。
〇、開發(fā)環(huán)境
首先介紹一下我的開發(fā)環(huán)境:
- 物理系統(tǒng):Win 10 64位;
- 虛擬工具:Virtualbox 5.2.2;
- 虛擬系統(tǒng):Ubuntu 14.04;
- 軟件版本:OpenCV 4.0.0;
一、準(zhǔn)備工作
首先,需要在你的機(jī)器上安裝一系列必要的工具,包括:
sudo apt-get update # 這是為了更新你的軟件源 sudo apt-get install build-essential # 這是為了安裝編譯所需的庫(kù) sudo apt-get install cmake pkg-config git # 這是為了安裝一些必要的工具 sudo apt-get install libgtk2.0-dev libavcodec-dev libavformat-dev libswscale-dev python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libtiff4.dev libswscale-dev libjasper-dev libdc1394-22-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev然后,你可以去網(wǎng)上下載OpenCV的源碼,我是采取git倉(cāng)庫(kù)克隆的方式,直接獲取最新的版本,如下:
git clone https://github.com/opencv/opencv二、編譯安裝
1、建立編譯目錄
源碼下載完成后,進(jìn)入該目錄下,執(zhí)行以下語(yǔ)句:
cd opencv mkdir build cd build這是為了在源碼的根目錄下建立一個(gè)臨時(shí)目錄,用于存放編譯所產(chǎn)生的文件,不至于污染源碼,使得你的源碼可以根據(jù)不同的配置命令分別編譯出多份可執(zhí)行文件,每一份都很清晰,不至于混在一起。這個(gè)思路,有一個(gè)很官方的名字叫OUT SOURCE BUILD,意思就是在代碼之外的地方進(jìn)行編譯。而與其相對(duì)的,就是IN-SOURCE BUILD,意味在代碼內(nèi)進(jìn)行編譯。所以,如果你不按照我上面的步驟新建一個(gè)目錄然后到目錄里面去編譯的話,系統(tǒng)就會(huì)給出一個(gè)提示說“In-source builds are not allowed.”,這里就不截圖了。
2、編譯安裝源碼
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local .. make sudo make install說明一下:
- 第一步中,我配置了兩個(gè)參數(shù),第一個(gè)參數(shù)是指定程序?yàn)榘l(fā)布版本,第二個(gè)參數(shù)是指定安裝目錄,你可以根據(jù)你的需要自定義修改(不過強(qiáng)烈建議大家不要改,就按這個(gè)/usr/local目錄,不然后面可能會(huì)遇到一些麻煩);
- 第一步中,可能會(huì)需要下載一個(gè)IPPICV插件,據(jù)網(wǎng)上不少同學(xué)說,該插件不好下載,耗時(shí)較久,容易失敗,同時(shí)也提供了一些解決方案。可是我自己嘗試了三次,都很快就下載好了,因此在此不做多說,如果哪位同學(xué)發(fā)現(xiàn)自己編譯的過程中下載該插件時(shí)卡住,那么請(qǐng)自行百度;
- 第三步中,一定要記得加上sudo,不然會(huì)提示權(quán)限不夠;
三、配置環(huán)境
1、添加庫(kù)路徑
打開文件進(jìn)行編輯:
sudo vi /etc/ld.so.conf.d/opencv.conf輸入下面的內(nèi)容,然后保存退出
/usr/local/lib2、添加環(huán)境變量
打開文件進(jìn)行編輯:
sudo vi /etc/profile在末尾加入:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib更新環(huán)境變量:
sudo source /etc/profile登出,或者重啟,然后輸入命令:
pkg-config --modversion opencv # 查看linux下的opencv安裝版本(注意中間是兩個(gè)橫線) 4.0.0如果沒有出錯(cuò),說明安裝成功。
四、測(cè)試效果
完成了上述的所有步驟,就已經(jīng)萬(wàn)事俱備,只欠東風(fēng)了。下面我們就開始進(jìn)行驗(yàn)證測(cè)試。
進(jìn)入opencv的源碼目錄,里面有一個(gè)sample/cpp/example_cmake的子目錄,里面有一個(gè)很簡(jiǎn)單的例程,我們就用這個(gè)例程來(lái)進(jìn)行演示:
cd opencv/samples/cpp/example_cmake/ cmake . # 請(qǐng)注意,這里的cmake后有一個(gè)空格,然后是一個(gè)點(diǎn)號(hào) make編譯成功了,運(yùn)行一下試試:
leon@Ubuntu:~/opencv/samples/cpp/example_cmake$ ./opencv_example Built with OpenCV 4.0.0-dev(opencv_example:13315): GStreamer-CRITICAL **: gst_element_get_state: assertion 'GST_IS_ELEMENT (element)' failed VIDEOIO ERROR: V4L: can't open camera by index 0 No capture圖像如下:
這是因?yàn)槲业氖翘摂M機(jī),沒有攝像頭,因此顯示了黑屏。這一點(diǎn)在上面的輸出提示信息中也可以看到。如果你的是物理機(jī),也有攝像頭,那么就會(huì)顯示出攝像頭的畫面并疊加上hello opencv的提示語(yǔ)句。
到此,所有工作全部順利完成!恭喜!
五、編后語(yǔ)
如果剛才配置編譯和安裝目錄的時(shí)候,沒有設(shè)置為缺省的“/usr/local”目錄, 而是設(shè)置了其他的目錄(比如/usr/local/opencv-4.0.0這個(gè)目錄),則有可能會(huì)在后面在應(yīng)用的過程中遇到一個(gè)問題,就是使用cmake命令編譯某個(gè)工程項(xiàng)目時(shí),提示說:
CMake Error at CMakeLists.txt:39 (find_package):By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project hasasked CMake to find a package configuration file provided by "OpenCV", butCMake did not find one.Could not find a package configuration file provided by "OpenCV" with anyof the following names:OpenCVConfig.cmakeopencv-config.cmakeAdd the installation prefix of "OpenCV" to CMAKE_PREFIX_PATH or set"OpenCV_DIR" to a directory containing one of the above files. If "OpenCV"provides a separate development package or SDK, be sure it has beeninstalled.原因就是因?yàn)榘惭bopencv時(shí)沒有使用的默認(rèn)的路徑,導(dǎo)致cmake找不到opencv。解決方法也很簡(jiǎn)單,執(zhí)行cmake命令前,先輸入下面的語(yǔ)句:
export OpenCV_DIR=/usr/local/opencv-4.0.0 # 這里的/usr/local/opencv-4.0.0目錄就是你安裝的實(shí)際目錄然后再執(zhí)行cmake命令,就可以了!
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的Ubuntu14.04系统下安装配置OpenCV 4.0.0开发环境全过程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win10怎么进入高级恢复界面 win1
- 下一篇: Ubuntu14.04下使用apt-ge