轉 cvCvtColor的用法

2021-06-26 20:44:44 字數 630 閱讀 9971

cvcvtcolor(...),是opencv裡的顏色空間轉換函式,可以實現rgb顏色向hsv,hsi等顏色空間的轉換,也可以轉換為灰度影象。

引數cv_bgr2gray

是rgb

到gray,

引數 cv_gray2bgr

是gray

到rgb.

處理結果是彩色的,則轉灰色就是了:

void cvcvtcolor( const cvarr* src, cvarr* dst, int code );

src輸入的 

8-bit

,16-bit

或 32-bit

單倍精度浮點數影像。

dst輸出的

8-bit

, 16-bit

或 32-bit

單倍精度浮點數影像。

code

色彩空間轉換的模式,該code來實現不同型別的顏色空間轉換。

比如cv_bgr2gray表示轉換為灰度圖,cv_bgr2hsv將從rgb空間轉換為hsv空間。其中當code選用cv_bgr2gray時,dst需要是單通道。當code選用cv_bgr2hsv時,對於8點陣圖,需要將rgb值歸一化到0-1之間。這樣得到hsv圖中的h範圍才是0-360,s和v的範圍是0-1。

關於cvCvtColor的用法

最近做人臉識別要用到cvcvtcolor轉換影象,老是到cvcvtcolor這一塊經常出錯,經過仔細的研究這一函式,發現原來rgb轉換成 灰度影象時,輸出的影象要定義為單通道的影象,學習的時候應該要謹慎,認真。cvcvtcolor 是opencv裡的顏色空間轉換函式,可以實現rgb顏色向hsv,hs...

轉 Delphi Invalidate的用法

1 invalidate介紹 void invalidate bool berase true 該函式的作用是使整個視窗客戶區無效。視窗的客戶區無效意味著需要重繪,例如,如果乙個被其它視窗遮住的視窗變成了前台視窗,那麼原來被遮住的部分就是無效的,需要重繪。這時windows會在應用程式的訊息佇列中放...

轉 Delphi Invalidate的用法

1 invalidate介紹 void invalidate bool berase true 該函式的作用是使整個視窗客戶區無效。視窗的客戶區無效意味著需要重繪,例如,如果乙個被其它視窗遮住的視窗變成了前台視窗,那麼原來被遮住的部分就是無效的,需要重繪。這時windows會在應用程式的訊息佇列中放...