資源簡介
MATLAB膚色分割程序 將照片轉換成黑白二色 以區分皮膚以及其他
代碼片段和文件信息
function?[?result?]?=?skin(?YCbCr?)
%Anil?K.Jain提出的基于YCbCr顏色空間的膚色模型?
%根據當前點的Y、Cb、Cr值判斷是否為膚色?result=1表示該點為膚色,result=0表示不是
%參考論文Hsu?Rein-Lien?Anil?K?Jain.?Face?detection?in?color?images.?
%IEEE?Tran?on?Pattern?Analysis?and?Machine?Intelligence?24?(5):?696-706?Dec?2002.
%分段域值Kl、Kh?為常量,取值為Ki?=125、Kh?=188;Ymin、Ymax是由實驗數據得到的
%膚色聚類區域中Y分量的最小和最大值,Ymin?=16、Ymax?=235。
%WCb、WCr為Ki、Kh間的膚色聚類區域寬度WLCb、WLCr、WHCb、WHCr均為常量
Kl?=?125;?Kh?=?188;
Ymin=16;?Ymax=235;
WCb=46.97;?WCr=38.76;?%取經驗值
WLCb=23;?WLCr=20;
WHCb=14;?WHCr=10;
%Ki、Kh兩個臨界值之間,亮度變化對色度的影響不大,可忽略,Y、Cb、Cr值保持不變。
%而對小于Ki和大于Kh的色度跟據亮度偏離臨界值的多少進行修正。
if?Y ????WCb_y=WLCb+(Y-Ymin)*(WCb-WLCb)/(Kl-Ymin);
????WCr_y=WLCr+(Y-Ymin)*(WCr-WLCr)/(Kl-Ymin);
????Cb_=108+(Kl-Y)*(118-108)/(Kl-Ymin);
????Cr_=154-(Kl-Y)*(154-144)/(Kl-Ymin);
????Cb_y=(Cb-Cb_)*WCb/WCb_y+Cb_;
????Cr_y=(Cr-Cr_)*WCr/W
- 上一篇:單元質量和剛度矩陣
- 下一篇:Vibe算法matlab
評論
共有 條評論