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

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

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

  • 相关阅读:
    EasyPR--开发详解(2)车牌定位
    EasyPR--中文开源车牌识别系统 开发详解(1)
    EasyPR--一个开源的中文车牌识别系统
    Ajax异步请求原理的分析
    ajax同步
    ajax解决跨域
    ajax及其工作原理
    python编码设置
    python编译hello
    WinForm通过操作注册表实现限制软件使用次数的方法
  • 原文地址:https://www.cnblogs.com/lemonzhang/p/9254702.html
Copyright © 2011-2022 走看看