OpenCV學習(四)顏色空間縮減實現

2021-07-15 02:23:57 字數 470 閱讀 3924

在一幅數字影象儲存的矩陣一般是uchar型別,為8位256個值。如果是三通道圖形,那麼應該有256*256*256=16581375種不同的顏色,這1600多萬種顏色,資料量會很大,影響後期的處理,這個時候,我們就需要將顏色空間進行縮減。

對於三通道影象,本來有256*256*256種顏色,這裡我們取:

0-9的畫素取值:0

10-19的畫素取值:1

250-256的畫素取值:25

這樣可以形成乙個26*26*26=17576種顏色,我們可以由此寫出顏色空間壓縮的演算法:

intdivide = 10;

uchartable[256];

for(inti=0;i<256;i++)

void colorreduce(mat& src, mat& dst, int compress)

}void on_trackball(int, void*)

**執行結果如下:

opencv顏色空間的縮減

若矩陣儲存的是單通道畫素和三通道畫素就會有非常多的顏色,所以就會有顏色空間縮減這乙個說法 顏色空間值除以某個輸入值,以獲得較少的顏色數,也就是做減法,比如顏色值0 9可以取0,10 19可以取到10,顏色縮減的表示式 i new i old 10 10 中間的除法是取整運算但是在處理影象畫素時,每個...

OpenCV學習筆記(四) 顏色空間轉換

在opencv中使用cv cvtcolor inputarray src,outputarray dst,int code,int dstcn 0 進行顏色空間的轉換 src和dst分別為輸入影象和輸出影象 code是個掩碼,代表不同的轉換方式 dstcn是輸出影象的通道數,預設0為與輸入影象相同 ...

《OpenCV》 顏色空間

opencv中匯集了150多種顏色顏色空間的轉變方法,接下來只看最常用的兩種,即bgr gray 和 bgr hsv import cv2 color space轉變函式 cv2.cvtcolor input image,flag 檢視顏色空間flag flags i for i in dir cv...