如何从rgb图像中提取特征而不将它们转换为灰度图像?

时间:2014-03-07 13:07:46

标签: matlab

我想从rgb面部图像中提取特征而不将它们转换为灰色图像?我应该怎么做?

1 个答案:

答案 0 :(得分:3)

要从上一个问题重复自己,你真的不应该这样做。使用单元格数组:

for i = 1:50
    img{i} = imread(['C:\Users\shree\Desktop\final data\target\' num2str(i) '.jpg']);
end

img_grey = cellfun(@rgb2gray, img, 'UniformOutput', false);
img_50 = cellfun(@(x)(imresize(x, [50, 50])), img, 'UniformOutput', false);

figure,imshow(img{35});
title('original');
figure,imshow(img_grey{35});
title('gray');
figure ,imshow(img_50{35});
title('resized');

如果您使用evalc,最终将获得1000个变量!你怎么可能与之合作?更不用说它很难调试,mlint不会发现你的错误。在单元格数组中,将所有图像应用于一行中非常容易。使用细胞阵列绝对是正确的进行方式,如果你继续使用evalc,你就是在自己的脚下射击并为自己创造更多的工作。