OpenCv初體驗

本學期開始到實驗室搬磚了,開始接觸一些算法以外的姿勢,也算開開眼界吧(還有好多題沒有補吶喂! = =)

第一個工作是給一個貌似很厲害的工程debug,這個程序是根據圖像的特點以及user的交互結果描出user所希望描繪的結果的邊界。

這個工程裏用到了opencv庫

配置opencv環境就搞了很長時間  - - 首先就是配置環境變量

配置完以後,爲了能引用頭文件,還要在工程的連接器裏進行設置

值得注意的是工程的環境一定要和opencv對應,如果工程是x64就要使用x64的opencv,32位就用32位


接下來用到的是opencv的一個函數和變量類型。

=========================================================樸素的分割線=========================================================

第一個是cvLoadImage()

函數內部有兩個參數,第一個參數是打開的圖片文件的路徑,第二個參數是打開圖片的方式,-1表示用默認原圖像的通道數讀取圖像,0代表強制讀取爲灰度圖像,1代表讀取彩色圖像。

關於這個函數的介紹詳細參見blog:點擊打開鏈接

然後是opencv裏的圖像的一個類,IplImage,這個類的詳細介紹參見blog:點擊打開鏈接

值得關注的問題是,一副彩色圖像通常由多個通道組成,對於顏色的描述有兩種比較主流的方式HSV(HSL)和RGB方式,RGB是爲衆人俗知的。所以處理圖像的時候要根據圖像屬於哪一種來分類進行處理,對於三通道的圖像和單通道的圖像由於其存儲方式不同,使用相同的方式處理(例如採樣)的話就會產生大問題,例如數組越界或者是結果完全不對。另外,windows在識別rgb圖像的時候,三種顏色排列的順序實際上是BGR,而opencv在用cvSaveImage來存儲rgb圖像的時候存儲的是RGB的順序,因此需要進行一下轉換。關於這個的解釋可以參見blog:點擊打開鏈接

嗯,就這麼多

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章