前言
OpenCV為基于BSD許可(開源)發行的跨平臺計算機視覺庫,可運行在Linux、Windows和Mac OS上。它輕量級而且高效,提供了Python、Ruby、MATLAB等語言接口,實現了圖像處理和計算機視覺方面的很多通用算法。
OpenCV不僅在進行軟件開發的過程中需要用到,而且他也是很多開源軟件的運行依賴,所以安裝一個Opencv就很有必要了,即使自己本身并不想學習使用。
安裝
以下主要是從百度上找到的可用方法:
安裝運行依賴
$ sudo apt-get install libqt4-dev libopencv-dev build-essential cmake git libgtk2.0-dev pkg-config/python-dev python-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev /libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer0.10-dev/libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev /libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils unzip
下載源代碼
在 官網 下載適合的版本就好,我這下的是3.1.0。
下載完成解壓就好。
編譯
編譯還是有點麻煩的,現在都是用cmake結合make來編譯,頭一次用這個有點頭大。
1、在文件目錄下新建一個叫build/的文件夾,這個文件夾的目的主要是用來存放編譯生成的臨時文件。當然起別的名字也可以。
2、進入build/文件夾,輸入以下命令
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON -D WITH_XINE=ON -D WITH_OPENGL=ON -D WITH_TBB=ON -D BUILD_EXAMPLES=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON ..
其實就是cmake命令后加些配置參數,最后是CMakeLists.txt配置文件的位置,這個位置當然就是../
3、編譯安裝,輸入make -j $(nproc)
(這是多進程make的命令,/$(nproc)
就是進程數,當然也可以直接指定),這會花很長時間,最后再$ sudo make install
,對文件進行安裝。
4、最后還要配置一些路徑,輸入以下命令
/bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
然后再ldconfig即可。(注意給權限)
5、最后可以用如下命令來判斷是否安裝成功
pkg-config --modversion opencvpkg-config --cflags opencv
測試
OpenCV在codeblock下可以通過加鏈接庫的形式編譯運行。但是如果在命令行下,就得手寫cmake了。
為了方便測試,我們新建一個test文件夾,在這下面寫一個測試程序。
首先新建如下文件,保存為test.cpp
#include<opencv2/highgui.hpp>#include<opencv2/imgproc.hpp>using namespace cv;int main(int argc ,char** argv){ if(argc!=2){ printf("No image data/n"); return -1; } char *imageName=argv[1]; Mat image; image=imread(imageName,1); if(!image.data){ printf("No iamge data/n"); return -1; } namedWindow(imageName,CV_WINDOW_AUTOSIZE); imshow(imageName,image); waitKey(0); return 0;}
然后隨便把一個測試用圖片復制到test文件夾下,我用的是他自帶的最經典的lena.jpg。
接著編寫cmake配置文件,將下面的文件保存為CMakeLists.txt
project(test)add_executable(test test.cpp)find_package(OpenCV REQUIRED)target_link_libraries(test ${OpenCV_LIBS})
里面用到的各種文件的意義也很清楚了,以后照著改就行。
最后在test下新建build文件夾,進入后輸入cmake ../
即可完成cmake編譯,然后再輸入make即可生成可執行文件。
找到test文件,然而在命令行下輸入./test ../lena.jpg
即可運行程序。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。
新聞熱點
疑難解答
圖片精選