Ubuntu中Opencv的安裝使用教程
前言
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ì)花很長時(shí)間,最后再$ sudo make install ,對文件進(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
測試
OpenCV在codeblock下可以通過加鏈接庫的形式編譯運(yùn)行。但是如果在命令行下,就得手寫cmake了。
為了方便測試,我們新建一個(gè)test文件夾,在這下面寫一個(gè)測試程序。
首先新建如下文件,保存為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è)測試用圖片復(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)行程序。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
Linux中Curl參數(shù)詳解實(shí)踐應(yīng)用
在現(xiàn)代網(wǎng)絡(luò)開發(fā)和運(yùn)維工作中,curl 命令是一個(gè)不可或缺的工具,它是一個(gè)利用 URL 語法在命令行下工作的文件傳輸工具,支持多種協(xié)議,如 HTTP、HTTPS、FTP 等,本文給大家介紹了Linux中Curl參數(shù)詳解實(shí)踐應(yīng)用,需要的朋友可以參考下2025-01-01
在Linux中安裝ASPNET.Core3.0運(yùn)行時(shí)的示例代碼
這篇文章主要介紹了在Linux中安裝ASPNET.Core3.0運(yùn)行時(shí)的示例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09
CentOS6.5平臺(tái)上rsync服務(wù)器安裝配置方法簡述
這篇文章主要介紹了CentOS6.5平臺(tái)上rsync服務(wù)器安裝配置方法,結(jié)合實(shí)例形式分析了CentOS上安裝與配置rsync服務(wù)器的具體步驟、相關(guān)命令與使用方法,需要的朋友可以參考下2018-04-04
Linux中部署MeterSphere實(shí)現(xiàn)遠(yuǎn)程訪問
MeterSphere是一站式開源持續(xù)測試平臺(tái), 涵蓋測試跟蹤、接口測試、UI 測試和性能測試等功能,全面兼容 JMeter、Selenium 等主流開源標(biāo)準(zhǔn),有效助力開發(fā)和測試團(tuán)隊(duì)充分利用云彈性進(jìn)行高度可擴(kuò)展的自動(dòng)化測試,2023-10-10
本文介紹Linux中部署MeterSphere實(shí)現(xiàn)遠(yuǎn)程訪問MeterSphere界面
Linux系統(tǒng)中如何將普通用戶權(quán)限提升至root權(quán)限
首先,使用普通用戶登錄并通過命令su-切換到臨時(shí)Root狀態(tài),接著,設(shè)置root用戶密碼并使用命令su切換到root用戶,編輯/etc/sudoers文件,修改必要的權(quán)限設(shè)置,并保存退出,然后,修改/etc/passwd文件中的用戶ID從1000改為0,最后,重啟Linux系統(tǒng)2024-10-10

