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