久久青草精品A片狠狠,日韩欧美视频一区二区,亚洲国码AV日韩,国产精品黄在

Ubuntu中Opencv的安裝使用教程

2019-05-16 15:28:28 11009

OpenCV為基于BSD許可(開源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺庫,可運(yùn)行在Linux、Windows和Mac OS上。它輕量級(jí)而且高效,提供了Python、Ruby、MATLAB等語言接口,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺方面的很多通用算法。


OpenCV不僅在進(jìn)行軟件開發(fā)的過程中需要用到,而且他也是很多開源軟件的運(yùn)行依賴,所以安裝一個(gè)Opencv就很有必要了,即使自己本身并不想學(xué)習(xí)使用。


安裝

以下主要是從百度上找到的可用方法:


安裝運(yùn)行依賴


$ 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

下載源代碼


在 官網(wǎng) 下載適合的版本就好,我這下的是3.1.0。


下載完成解壓就好。


編譯


編譯還是有點(diǎn)麻煩的,現(xiàn)在都是用cmake結(jié)合make來編譯,頭一次用這個(gè)有點(diǎn)頭大。


1、在文件目錄下新建一個(gè)叫build/的文件夾,這個(gè)文件夾的目的主要是用來存放編譯生成的臨時(shí)文件。當(dāng)然起別的名字也可以。

2、進(jìn)入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 ..

其實(shí)就是cmake命令后加些配置參數(shù),最后是CMakeLists.txt配置文件的位置,這個(gè)位置當(dāng)然就是../


3、編譯安裝,輸入make -j $(nproc) (這是多進(jìn)程make的命令,\$(nproc)就是進(jìn)程數(shù),當(dāng)然也可以直接指定),這會(huì)花很長(zhǎng)時(shí)間,最后再$ sudo make install ,對(duì)文件進(jìn)行安裝。

4、最后還要配置一些路徑,輸入以下命令


/bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'

然后再ldconfig即可。(注意給權(quán)限)


5、最后可以用如下命令來判斷是否安裝成功


pkg-config --modversion opencv

pkg-config --cflags opencv

測(cè)試

OpenCV在codeblock下可以通過加鏈接庫的形式編譯運(yùn)行。但是如果在命令行下,就得手寫cmake了。


為了方便測(cè)試,我們新建一個(gè)test文件夾,在這下面寫一個(gè)測(cè)試程序。


首先新建如下文件,保存為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;

}

然后隨便把一個(gè)測(cè)試用圖片復(fù)制到test文件夾下,我用的是他自帶的最經(jīng)典的lena.jpg。


接著編寫cmake配置文件,將下面的文件保存為CMakeLists.txt


project(test)

add_executable(test test.cpp)

find_package(OpenCV REQUIRED)

target_link_libraries(test ${OpenCV_LIBS})

里面用到的各種文件的意義也很清楚了,以后照著改就行。


最后在test下新建build文件夾,進(jìn)入后輸入cmake ../ 即可完成cmake編譯,然后再輸入make即可生成可執(zhí)行文件。


找到test文件,然而在命令行下輸入./test ../lena.jpg 即可運(yùn)行程序。


提交成功!非常感謝您的反饋,我們會(huì)繼續(xù)努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問題: