ubuntu下安装opencv2
環(huán)境
系統(tǒng):Ubuntu 14.04 x64
簡(jiǎn)介
OpenCV,英文全稱(chēng)Open Source Computer Vision Library。OpenCV是一個(gè)基于(開(kāi)源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺(jué)庫(kù),可以運(yùn)行在Linux、Windows和Mac OS操作系統(tǒng)上。它輕量級(jí)而且高效——由一系列 C 函數(shù)和少量 C++ 類(lèi)構(gòu)成,同時(shí)提供了Python、Ruby、MATLAB等語(yǔ)言的接口,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺(jué)方面的很多通用算法。?
官方主頁(yè):http://opencv.org/
安裝包
下載鏈接:http://opencv.org/downloads.html?
安裝包:opencv-2.4.10.zip?
請(qǐng)不要下載opencv2.3.1, 會(huì)報(bào)ffmpeg的錯(cuò)誤。 另外, 最新版的opencv3 和opencv2 架構(gòu)不同。 如果大家用opencv2用的順手, 先不要升級(jí)opencv3了。
安裝
安裝編譯opencv的依賴(lài)包,一個(gè)一個(gè)安裝
sudo apt-get install build-essentialsudo apt-get install libgtk2.0-dev sudo apt-get install libavcodec-devsudo apt-get install libavformat-devsudo apt-get install libjpeg62-devsudo apt-get install libtiff5sudo apt-get install libtiff5-devsudo apt-get install cmakesudo apt-get install cmake-qt-guisudo apt-get install libswscale-devsudo apt-get install libjasper-dev配置opencv,在這里使用cmake-gui進(jìn)行配置,使用cmake直接配置會(huì)報(bào)錯(cuò),后面會(huì)介紹。
cd opencv_dir mkdir build cd build cmake-gui ..出現(xiàn)下面的界面,更改設(shè)置,把WITH-CUDA和BUILD_opencv_gpu選項(xiàng)去掉打鉤,然后依次點(diǎn)Configure和Generate按鈕生成Configure文件。?
?
編譯安裝,這樣就安裝成功了。
環(huán)境變量
安裝成功后還需要設(shè)置opencv的環(huán)境變量?
打開(kāi)文件
在文件最后添加
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig執(zhí)行下列命令, 使環(huán)境變量立即生效
source /etc/profilelib庫(kù)路徑
打開(kāi)文件
sudo gedit /etc/ld.so.conf.d/opencv.conf一般是新建文件,opencv的庫(kù)一般安裝在’/usr/local/lib’文件夾下,在文件內(nèi)添加
/usr/local/lib執(zhí)行下列命令使之立刻生效
sudo ldconfig經(jīng)過(guò)上面的流程,這樣就可以在eclipse里或者qtcreator里用opencv了。 不過(guò)要配置號(hào)相應(yīng)的路徑和lib文件。
示例代碼
對(duì)opencv的sample進(jìn)行編譯并運(yùn)行
cd opencv_dir/samples/c ./build_all.sh ./facedetect --cascade="/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml" --scale=1.5 lena.jpg運(yùn)行結(jié)果?
?
python使用opencv
如果想在python中使用opencv的話(huà),這里使用的是python虛擬環(huán)境(http://blog.csdn.net/honyniu/article/details/46382929),只需要把opencv編譯的cv2.so和原始的cv.py拷貝到python的site-packages路徑下面
cp opencv_dir/build/lib/cv2.so ENV/lib/python2.7/site-packages/ cp opencv_dir/modules/python/src2/cv.py ENV/lib/python2.7/site-packages/簡(jiǎn)單的改變圖片大小并保存的python代碼
import cv2 as cv im = cv.imread(IMAGE_FILE) #IMAGE_FILE圖片路徑 im = cv.resize(im, (500, 500)) cv.imwrite(IMAGE_FILE_CP, im) #IMAGE_FILE_CP保存圖片路徑出錯(cuò)
就像上面說(shuō)的如果使用cmake直接進(jìn)行配置,執(zhí)行make編譯會(huì)出現(xiàn)’nvcc fatal : Unsupported gpu architecture ‘compute_11’的錯(cuò)誤,主要是cmake配置默認(rèn)會(huì)把gpu和cuda選項(xiàng)選擇上,但好像在這里的環(huán)境下opencv編譯gpu和cuda一直不成功(當(dāng)然也有人成功,不知道為什么),所以使用cmake-gui命令選擇不安裝gpu和cuda。不安裝gpu和cuda對(duì)后面的工作也沒(méi)有影響。?
找不到cv2.so
要編譯opencv_python,需要依賴(lài)numpy庫(kù),必須保證在編譯opencv的時(shí)候配置文件識(shí)別到要使用的python的numpy庫(kù),如下圖,可以出現(xiàn)BUILD_opencv_python和PYTHON_NUMPY_INCLUDER_DIR選項(xiàng)(這是自動(dòng)識(shí)別出來(lái)的,你要系統(tǒng)默認(rèn)的python庫(kù)中安裝了numpy就可以了),這樣就能正常的編譯出cv2.so。如果不能正確的找到numpy庫(kù),需要先安裝好numpy,否則編譯不出來(lái)cv2.so。?
總結(jié)
以上是生活随笔為你收集整理的ubuntu下安装opencv2的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: DoIP协议设计思路浅析
- 下一篇: ubuntu搭建xv6环境