1. 程式人生 > >Ubuntu16.04下配置opencv及測試

Ubuntu16.04下配置opencv及測試

最近要做caffe,所以要轉ubuntu系統。這個系統給我的最大感覺還是應用匱乏,管理非視覺化。與經典的window相比,不斷的報錯,不正常的安裝路徑管理都讓人很抓狂。不過配置opencv的時候給我的感覺就是他的原理比Windows的還要複雜,要用cmake去變異資原始檔,然後一會這一會那,但是感官上是方便的。更可控。因為你不追究底層的原理的話,你只要輸完命令坐著喝喝茶,看他刷屏就行。而windows上的用一次VS還要配一次,給你的錯誤反饋也是非常模糊的,就告訴你是找不到這個檔案,至於是沒有新增環境變數還是沒有新增依賴項,對不起,你自己去找。

總而言之。病毒少,輕量化,錯誤提示具體的linux是作為工程樣機的好選擇。但是作為辦公和日常的平臺,怕不是要砸電腦。

下面就讓我們開始這次的配置教程:

首先登入opencv官網進入下載原始檔。因為linux沒有發行版本,所以我們只能下載opencv的source檔案。下載好後,先新增一些必要的庫

輸入

sudo apt-get install build-essential

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-devlibopencv-dev libboost-all-dev libhdf5-serial-dev

libgflags-devlibgoogle-glog-dev liblmdb-dev protobuf-compiler

sudo apt-get install freeglut3-dev libx11-dev libxmu-dev libxi-devlibgl1-mesa-glx libglu1-mesa

libglu1-mesa-devsudo apt-get install build-essential libgtk2.0-dev libavcodec-dev

libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev  

重複的話系統會自動過濾掉的。這裡有點注意,如果系統報錯的話多半是其他應用由於佔用了這個下載工具。要用kill殺掉那個,具體根據錯誤百度下就好了,Ubuntu強就強在所有的錯誤都是明確告訴你的,而且很容易百度到解決方法。

然後解壓縮自己下的opencv包,我是放在Downloads的opencv2413下面了。用cd進入到/home/使用者名稱/Downloads/opencv2413 下。接著我們準備去make。這裡也要下載一些cmake的元件和依賴庫

sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev   

libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev 

sudoapt-get install build-essential cmake libgtk2.0-dev pkg-configpython-dev python-numpy libavcodec-dev libavformat-dev libswscale-dev

然後就可以用  sudo apt-get install cmake  來安裝cmake了

安裝完畢後在opencv2413下輸入cmake .

這裡要注意是 cmake 空格 然後點。到此cmake的配置完成了。接下來就是要make出linux下的檔案了。

輸入sudo make 就會進入漫長的編譯過程。

完成後再輸入 sudo make install

把make出來的檔案安裝好。這樣安裝就徹底結束了,接著開始配置環境。

輸入 sudo gedit /etc/ld.so.conf.d/opencv.conf

會開啟一個檔案,基本上是空的,然後末尾加上   /usr/local/lib  這一步其實就把他的opencv的庫加入到系統直接可以呼叫的庫了。就相當於在Windows下面在環境變數裡新增路徑後就可以直接在dos裡執行python一樣的道理。

儲存後輸入sudo ldconfig 使其生效

然後sudo gedit /etc/bash.bashrc  在末尾加上

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

export PKG_CONFIG_PATH    

然後輸入sudo source /etc/bash.bashrc使其生效  (事實上我輸入這個無效,source命令沒找到,但最後也成功了)

最後用sudo updatedb  更新下database就可以了

  測試的話直接進入你的opencv2413/sample/c 下

輸入

chmod +x build_all.sh
./build_all.sh
./facedetect --cascade="/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml" --scale=1.5 lena.jpg

可以的話就可以了