研究生課題做嵌入式圖像處理方向,所以主要涉及的知識(shí)就是嵌入式Linux+OpenCV+QT,主要OpenCV和QT都是跨平臺(tái)的,而且充分利用好的話再后期的算法設(shè)計(jì)和功能擴(kuò)展上就方便很多。只是之前多數(shù)做的是硬件方向設(shè)計(jì)和偏單片機(jī)類型的處理器,嵌入式Linux沒有太多的基礎(chǔ),圖像處理方面基本上是空白,QT也從沒有接觸過,完成這個(gè)任務(wù)需要學(xué)習(xí)的東西還很多啊。目前只是大致確定了一個(gè)方向,很多地方還很迷茫,歡迎有興趣的朋友指點(diǎn)、交流。
既然學(xué)習(xí)OpenCV,雖說我是想在嵌入式平臺(tái)上使用,但是還是需要在win平臺(tái)上先學(xué)習(xí),有些算法驗(yàn)證上也方便些。因此本文首先是關(guān)于Windows平臺(tái)下的OpenCV安裝與使用。
Windows 7 X86, Visual Studio 2010, OpenCV2.4.3 ,Cmake 2.8
OpenCV:http://www.opencv.org.cn/index.php/Download
Cmake:http://www.cmake.org/cmake/resources/software.html
從以上提供的網(wǎng)站下載對(duì)應(yīng)版本和平臺(tái)的軟件。
本文的主要參考:http://www.opencv.org.cn/index.php/VC_2008_Express%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.3.1
學(xué)習(xí)OpenCV那么中文官方網(wǎng)站的資料應(yīng)該是比較權(quán)威和全面的,因此本文只是對(duì)參考文章的補(bǔ)充和實(shí)踐。
下載Windows下的安裝文件OpenCV-2.4.3.exe,雙擊解壓,選擇需要的安裝目錄即可。我的存放路徑為D:\opencv。
解壓完成后就是需要的文件了。注意相應(yīng)的目錄不能包含中文。
這一步不是必須的,如果不編譯,可以使用編譯好的庫(kù),但是不能進(jìn)行源代碼的跟蹤調(diào)試(未驗(yàn)證),因此這里還是編譯一下。
編譯用的工具Cmake,這是一個(gè)跨平臺(tái)的安裝編譯工具,主要用于把OpenCV的源碼生成對(duì)應(yīng)的VS工程。操作如下。
1、如圖所示,設(shè)置OpenCV的安裝文件路徑和想要生成的文件路徑;
2、點(diǎn)擊左下方configure,在彈出的選項(xiàng)中選擇Visual Studio 10(對(duì)應(yīng)2010版本);
3、點(diǎn)擊完成就會(huì)進(jìn)行配置,配置后的界面如下圖所示,選擇需要加入的文件,我這里勾上BUILD_EXAMPLES其他選項(xiàng)默認(rèn);
4、修改完成后再次點(diǎn)擊configure進(jìn)行配置,完成后點(diǎn)擊Generate,至此完成配置。
以上操作完成后,就可以在生成的目錄下找到對(duì)應(yīng)的工程文件,根據(jù)上圖配置我的文件路徑為D:\OpenCV24\OpenCV.sln,使用VS2010打開,進(jìn)行如下操作。
1、在Debug下,選擇解決方案(解決方案資源管理器)里的 解決方案“OpenCV”,點(diǎn)右鍵,運(yùn)行"重新生成解決方案";
2、生成成功后,在選擇INSTALL項(xiàng)目,右鍵運(yùn)行生成;
3、在Release下進(jìn)行1-2步的操作;
4、以上操作完成后,針對(duì)當(dāng)前的系統(tǒng)的OpenCV庫(kù)就生成了。
也即告訴VC去什么地方尋找OpenCV的頭文件和庫(kù),打開VC,選擇菜單“工具”->“選項(xiàng)”->“項(xiàng)目和解決方案”->“VC++目錄”->“包含文件”,在VS2010中此選項(xiàng)打開如下圖所示,顯示編輯功能被否決。
可以在具體的項(xiàng)目中右鍵->屬性來設(shè)置,只是這樣的設(shè)置無法被繼承,每一個(gè)項(xiàng)目都需要單獨(dú)設(shè)置,因此需要叢一個(gè)能夠被繼承的全局設(shè)置,方法如下:
1、在VS中確保至少有一個(gè)工程被打開的情況下,點(diǎn)擊“視圖”->“其他窗口”->“屬性管理器”,然后從左側(cè)任意項(xiàng)目中打開“Debug| Win32”->“Microsoft.Cpp.Win32.user”,如下圖所示。
2、在彈出如下圖所示的窗口中,添加文件包含與庫(kù)的路徑。點(diǎn)擊左側(cè)VC++目錄,編輯右側(cè)的包含目錄與庫(kù)目錄,分別添加對(duì)應(yīng)的路徑。
對(duì)應(yīng)的路徑如下:
使用提供的庫(kù)需要添加(對(duì)應(yīng)我自己的安裝目錄,路徑根據(jù)個(gè)人安裝修改)
D:\opencv\build\include
D:\opencv\build\include\opencv
D:\opencv\build\include\opencv2
如果使用的是上文編譯的庫(kù)的路徑,則添加(對(duì)應(yīng)我自己的目錄,路徑根據(jù)個(gè)人安裝修改)
D:\OpenCV24\install\include
D:\OpenCV24\install\include\opencv
D:\OpenCV24\install\include\opencv2
64為系統(tǒng)對(duì)應(yīng)更改。
在OpenCV的安裝文件中已經(jīng)為VC2008和2010預(yù)先編譯好了動(dòng)態(tài)庫(kù)與靜態(tài)庫(kù),因此可以不需要編譯直接添加。
針對(duì)VS2010添加(對(duì)應(yīng)我自己的目錄,路徑根據(jù)個(gè)人安裝修改)
D:\opencv\build\x86\vc10\lib
添加上文編譯的庫(kù)則添加(對(duì)應(yīng)我自己的目錄,路徑根據(jù)個(gè)人安裝修改)
D:\OpenCV24\install\lib
注:有的資料中說法如下:
(注:由于自己編譯成功,lib文件在Debug和Release兩個(gè)文件中,加載庫(kù)時(shí)需到Debug和Release中, 我配置的庫(kù)目錄為:D:\Program Files\OpenCV2.3.1\opencv\build\my\install\lib\Debug,否則調(diào)試時(shí)無法進(jìn)入Open CV代碼中。 by:Jackyzzy 趙振陽(yáng))
但是我的目錄下并沒有對(duì)應(yīng)的文件夾,反而在D:\OpenCV24\lib目錄下有對(duì)應(yīng)的Debug文件夾,文件經(jīng)過對(duì)比也一致,因此這個(gè)地方究竟添加什么地方的目前還沒有驗(yàn)證,已經(jīng)驗(yàn)證的同學(xué)歡迎告知我。
到這里,配置完畢,任意打開一個(gè)項(xiàng)目通過屬性來查看,可以看到以上配置已經(jīng)被繼承。
剛才設(shè)置的是動(dòng)態(tài)庫(kù),因此還需要將OpenCV的dll文件所在的目錄加入Path環(huán)境變量。dll文件目錄如下:
自己編譯的庫(kù)
D:\OpenCV24\install\bin
使用提供的庫(kù)(VS2010)
D:\opencv\build\x86\vc10\bin
有的資料中說由于有些函數(shù)需要使用TBB,因此需要把TBB相關(guān)也添加環(huán)境變量,但是我并沒有在opencv\build\common\tbb這個(gè)路徑中找到TBB文件件,在2.4.3版本中經(jīng)過查找此文件夾存在與opencv\build\common\tbb 路徑下,因此這部分同樣未驗(yàn)證。
至此,就完成了OpenCV的安裝與配置。
聯(lián)系客服