基於YCbCr色彩模型的簡易膚色識別器


一、實驗方法

       實驗共選取了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

 懷絕望之心,行希望之事。

轉載需說明出處,筆者總結之前的知識,與大家分享,有問題的可以留給我哦~

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM