• 大小: 8.53KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-03-26
  • 语言: 其他
  • 标签: 其他  

资源简介


转变RGB图为YCrC吧肤色空间,对带有人像的图像进行肤色检测和分割。

资源截图

代码片段和文件信息

%YCbCr色彩空间、椭圆肤色模型,肤色识别。
clear all;
img = imread(‘a.jpg‘);
figure;
imshow(img);
img_double = double(img);
h = size(img 1);
w = size(img 2);
img_YCbCr = rgb2ycbcr(img);
img_YCbCr = double(img_YCbCr);

%在YCbCr色彩空间里做肤色检测,先用椭圆模型检测Cb和Cr
for i = 1 : h
    for j = 1 : w
        x(i j) = [cos(2.53) sin(2.53)] * [(img_YCbCr(i j 2) - 109.38) (img_YCbCr(i j 3) - 152.02)]‘;
        y(i j) = [-sin(2.53) cos(2.53)] * [(img_YCbCr(i j 2) - 109.38) (img_YCbCr(i j 3) - 152.02)]‘;
    end
end
lea = (x(: :) - 1.6).^2 / (26.39^2) + (y(: :) - 2.41).^2 / (14.03^2);
[index_i index_j] = find(lea < 1);
img_bin = zeros(h w);
for i = 1 : length(index_i)
    img_bin(index_i(i) index_j(i)) = 1;
end

%在YCbCr色彩空间里做肤色检测,用Y分量直接排除一些过于暗的点
[index_i index_j] = find(img_YCbCr(: : 1) < 80);
for i = 1 : length(index_i)
    img_bin(index_i(i) index_j(i)) = 0;
end

figure;
imshow(img_bin);
%用3*3模板对二值图像进行膨胀操作
se = strel(‘square‘ 3);
img_bin = imdilate(img_bin se);
% f

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       8729  2010-03-24 16:13  skin\a.jpg

     文件       1112  2010-04-11 17:19  skin\skin2.m

     目录          0  2010-04-11 17:20  skin

----------- ---------  ---------- -----  ----

                 9841                    3


评论

共有 条评论