偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

詳解在 Qt 程序中使用OpenCV

移動(dòng)開(kāi)發(fā)
本文介紹的是詳解在 Qt 程序中使用OpenCV,OpenCV是一個(gè)基于BSD許可證授權(quán)(開(kāi)源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺(jué)庫(kù),可以運(yùn)行在Linux、Windows和Mac OS操作系統(tǒng)上。

Qt 程序中使用OpenCV是本文要介紹的內(nèi)容,OpenCV是一個(gè)基于BSD許可證授權(quán)(開(kāi)源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺(jué)庫(kù),可以運(yùn)行在Linux、Windows和Mac OS操作系統(tǒng)上。它輕量級(jí)而且高效——由一系列 C 函數(shù)和少量 C++ 類構(gòu)成,同時(shí)提供了Python、Ruby、MATLAB等語(yǔ)言的接口,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺(jué)方面的很多通用算法。[

OpenCV安裝

關(guān)于OpenCV的安裝,參考:

http://opencv.willowgarage.com/wiki/InstallGuide

安裝文檔寫得無(wú)比詳細(xì), 這里就不贅述了。 簡(jiǎn)單來(lái)說(shuō)就是安裝CMake,然后用cmake命令去配置和編譯。

最簡(jiǎn)單的命令是 “cmake .”。 這一步應(yīng)該不算一帆風(fēng)順, 筆者遇到了gstreamer頭文件找不到的問(wèn)題。 在OpenCV的代碼里搜索一番沒(méi)找到gstreamer的頭文件目錄在哪里配置, 而筆者對(duì)cmake又非常不熟悉, 只好用了個(gè)土方法, 在/usr/include下給本機(jī)的gstreamer目錄建了個(gè)link到OpenCV使用的gstreamer路徑。 OpenCV使用的gstreamer路徑在生成的Makefile里提到了, 是/usr/include/gstreamer-0.10, 這個(gè)路徑是從哪兒得到的這一點(diǎn)很神奇…誰(shuí)要是知道的請(qǐng)不吝賜教啊。 筆者電腦中的路徑則為/usr/inlcude/gstreamer-0.10-a, 故建立鏈接如下:

  1. ln -s /usr/include/gstreamer-0.10-a /usr/include/gstreamer-0.10 

代碼例子

OpenCV里帶了很多的sample, 在samples目錄下, 其中一個(gè)引起了筆者的注意, 那就是samples/cpp/Qt_sample。 簡(jiǎn)單看了看代碼, OpenCV里已經(jīng)實(shí)現(xiàn)了和Qt的集成, 里面用Qt的API寫了widget,可以直接把攝像頭取得的內(nèi)容顯示在Qt的widget里。

但這個(gè)例子工程似乎并沒(méi)有做好, 編譯過(guò)程實(shí)在是太曲折了, 到目前還沒(méi)找到方法編譯成功, 報(bào)的錯(cuò)誤是undefined reference。 第一個(gè)遇到的問(wèn)題是默認(rèn)的編譯選項(xiàng)不會(huì)去編譯samples目錄, 為了尋找合適的編譯選項(xiàng)頗費(fèi)了點(diǎn)腦筋(因?yàn)楣P者對(duì)cmake基本上可以說(shuō)是一竅不通的…汗)。 嘗試單獨(dú)編譯samples目錄, 失敗了, 報(bào)了個(gè)莫名其妙的cmake版本的問(wèn)題。

估計(jì)是有些依賴的東西是需要頂層目錄里讀取的。 繼續(xù)查找相關(guān)的腳本和配置, 發(fā)現(xiàn)CMakeList.txt里提到了一個(gè)BUILD_EXAMPLES變量, 當(dāng)此變量為真值時(shí)會(huì)編譯samples目錄。 但筆者絞盡腦汁也沒(méi)想出來(lái)怎么才能從外部配置這個(gè)值, 是用環(huán)境變量? cmake參數(shù)? 都試了, 沒(méi)一個(gè)管用的。 找來(lái)找去發(fā)現(xiàn)了OpenCV的文檔里有個(gè)例子,說(shuō)明了如何設(shè)置變量,是在cmake的命令行傳入 -D BUILD_EXAMPLES=ON這樣的方式。 如此一來(lái)build整個(gè)工程時(shí)就會(huì)自動(dòng)為samples目錄創(chuàng)建Makefile。所以configure的命令變成:

  1. cmake -D BUILD_EXAMPLES=ON . 

生成的例子都在OPENCV_DIR/bin下,大家可以運(yùn)行看看。(不包括Qt_sample這個(gè)例子)

在Qt中使用OpenCV

Qt程序要想用OpenCV的函數(shù)需要將opencv的頭文件和庫(kù)在工程pro文件里配置一下,添加INCLUDEPATH和LIBS,具體的方法參考:

Qt For Symbian 在pro文件中添加庫(kù)文件

詳解 QT 中.pro文件的寫法

http://www.opencv.org.cn/index.php/%E5%9C%A8Qt%E4%B8%AD%E4%BD%BF%E7%94%A8OpenCV%E5%BA%93

另外有一篇更實(shí)用更詳細(xì)的文章, 還提供幾個(gè)很好的例子, 是絕佳的參考。 大家有問(wèn)題就仔細(xì)看這篇文章, 一般都能得到解答:

http://code.google.com/p/qt-opencv-multithreaded/wiki/Documentation

小結(jié):關(guān)于詳解在 Qt 程序中使用OpenCV的內(nèi)容介紹完了,希望本文對(duì)你有所幫助。更多相關(guān)內(nèi)容請(qǐng)參考編輯推薦。

責(zé)任編輯:zhaolei 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-06-28 10:03:37

Qt OpenCV qmake

2011-06-10 09:09:38

Qt Creator OpenCV

2011-06-15 10:08:01

Qt CVS

2012-04-23 10:30:38

Hadoop

2011-06-08 16:56:37

VS2008 Qt

2010-04-21 17:50:59

共享庫(kù)bada

2011-08-31 16:30:19

Lua多線程

2016-01-25 15:09:22

JavaScriptC程序

2009-09-22 12:17:59

ibmdwLotus

2011-07-01 18:35:17

QT 控制臺(tái)

2011-05-27 08:48:13

Android HTML

2021-09-07 10:24:36

Vue應(yīng)用程序Web Workers

2009-06-19 13:45:53

Java應(yīng)用程序Jfreechart

2013-10-09 11:15:49

Ubuntu應(yīng)用程序

2020-03-11 09:15:25

微信asyncawait

2011-07-01 13:03:32

QT 線程 串口

2011-09-01 15:26:51

QtMysql數(shù)據(jù)庫(kù)

2009-11-23 19:52:55

ibmdwFlex

2022-08-30 20:00:37

零信任Linkerd

2022-11-23 15:26:25

Ubuntu程序塢
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)