一、實驗方法
實驗共選取了12張圖像,利用畫筆工具在每幅圖像上選取5個點,並分別記錄RGB值。取點方式如下圖所示:
總共70個點,R,G,B的值分別如下表所示:
RGB色彩模型和YCbCr色彩模型的互化變換公式:
將上述70個點分別帶入公式,分別求出Y,Cb,Cr的最大值和最小值如下表所示:
測試的5張實驗效果圖分別如下:
在算法對場景照明的敏感度方面,同一圖片在不同場景照明下的對比圖分別如下所示:
當在場景照明發生變化,變暗的情況下膚色與背景差異變小,難以監測到所有的皮膚,所以所設計的算法對場景照明具有較低的適應性。
二、程序代碼
files=dir('C:\Users\kkzhang\Desktop\fuse\*.jpg'); for i=1:length(files) s=files(i).name; RGB=imread(s); YCbCr=rgb2ycbcr(RGB); Y=YCbCr(:,:,1); Cb=YCbCr(:,:,2); Cr=YCbCr(:,:,3); imshow(RGB);title('RGB'); figure,imshow(YCbCr);title('YCbCr'); I=RGB; rows=size(YCbCr,1); columns=size(YCbCr,2); for i=1:rows for j=1:columns if 87<Y(i,j)&&Y(i,j)<230&&93<Cb(i,j)&&Cb(i,j)<123&&134<Cr(i,j)&&Cr(i,j)<173 %膚色范圍 I(i,j,:)=255; else I(i,j,:)=0; end end end figure,imshow(I); end
實驗圖像:https://pan.baidu.com/s/1l4rbTBjOYK-cGKApD2e-_A
懷絕望之心,行希望之事。
轉載需說明出處,筆者總結之前的知識,與大家分享,有問題的可以留給我哦~