RGB顏色空間膚色檢測

2021-08-09 08:32:59 字數 2340 閱讀 3991

基於rgb顏色空間的簡單閾值膚色識別

在human skin color clustering for face detection一文中提出如下簡單的判別算式:

r>95 and g>40 and b>20 and r>g and r>b and max(r,g,b)-min(r,g,b)>15 and abs(r-g)>15 

演算法非常之簡單,同樣主要把複雜的判斷條件放到後面去判斷,能有效的降低程式的執行時間。

int detectface(image_type *bmp_img,dword width,dword height)

memset(&bf, 0, sizeof(bf));

memset(&bi, 0, sizeof(bi));

bf.bftype = (word)0x4d42;

//8位影象資料每行位元組數為4的倍數

linebyte = (width * newbibitcount / 8 + 3) / 4 * 4;

colortablesize = 1024;

bf.bfsize = sizeof(bitmapfileheader)+sizeof(bitmapinfoheader)+colortablesize+linebyte*height;//影象資料加上調色盤資訊和前兩部分bmp檔案資訊

bf.bfreserved1 = 0;

bf.bfreserved2 = 0;

bf.bfoffbits = sizeof(bitmapfileheader)+sizeof(bitmapinfoheader)+colortablesize;//注意此offset是bmp前三部分資料,也就是真正影象資料的前面幾部分之和

bi.bisize = 40;

bi.biheight = height;

bi.biwidth = width;

bi.biplanes = 1;

bi.bicompression = 0;

bi.bibitcount = newbibitcount;//每乙個畫素由8 bits表示

有很多誤判的區域,還是不夠準確!

膚色檢測演算法 - 基於不同顏色空間簡單區域劃分的**檢測演算法

RGB和HSV顏色空間

rgb顏色空間 rgb red,green,blue 顏色空間最常用的用途就是顯示器系統,彩色陰極射線管,彩色光柵圖形的顯示器都使用r g b數值來驅動r g b電子槍發射電子,並分別激發螢光屏上的r g b三種顏色的螢光粉發出不同亮度的光線,並通過相加混合產生各種顏色 掃瞄器也是通過吸收原稿經反射...

RGB顏色空間轉LAB

第一 lab顏色空間簡介 lab是由乙個亮度通道 channel 和兩個顏色通道組成的。在lab顏色空間中,每個顏色用l a b三個數字表示,各個分量的含義是這樣的 第二 為什麼使用lab顏色空間 因為它是一種裝置無關的顏色系統,也是一種基於生理特徵的顏色系統。它所描述的顏色空間就是人眼的視覺感應。...

RGB轉HSI顏色空間

顯示原圖 def rgb2hsi rgb img row np.shape rgb img 0 col np.shape rgb img 1 對原始影象進行複製 hsi img rgb img.copy 對影象進行通道拆分 b,g,r cv2.split rgb img 把通道歸一化到 0,1 b,...