zoukankan      html  css  js  c++  java
  • 基于YCbCr色彩模型的简易肤色识别器

    一、实验方法

           实验共选取了12张图像,利用画笔工具在每幅图像上选取5个点,并分别记录RGB值。取点方式如下图所示:

           总共70个点,R,G,B的值分别如下表所示:

             RGB色彩模型和YCbCr色彩模型的互化变换公式:

             将上述70个点分别带入公式,分别求出Y,Cb,Cr的最大值和最小值如下表所示:

              测试的5张实验效果图分别如下:

             在算法对场景照明的敏感度方面,同一图片在不同场景照明下的对比图分别如下所示:

              当在场景照明发生变化,变暗的情况下肤色与背景差异变小,难以监测到所有的皮肤,所以所设计的算法对场景照明具有较低的适应性。

     二、程序代码

    files=dir('C:UserskkzhangDesktopfuse*.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

     怀绝望之心,行希望之事。

    转载需说明出处,笔者总结之前的知识,与大家分享,有问题的可以留给我哦~

  • 相关阅读:
    外设简述
    代C语言上机实践
    css动画效果
    css滑动门原理
    css整理
    html
    html单词
    倒计时.js
    随机方块
    求字符串出现次数和最大值
  • 原文地址:https://www.cnblogs.com/lemonzhang/p/9254702.html
Copyright © 2011-2022 走看看