如何通过保持红色背景相同来将灰色ROI二值化?

时间:2014-02-21 08:10:52

标签: matlab image-processing

我有灰度图像和红色背景:

http://i.stack.imgur.com/ue7nq.jpg

在图像处理的下一步中,我想仅对感兴趣的灰色区域进行二值化,同时保持红色背景不变。但是当我申请im2bw时,所有的图像都转换为黑白,包括红色背景。如何保持红色背景并将灰色ROI转换为二进制?

1 个答案:

答案 0 :(得分:1)

我不清楚你想要做什么,但这里有一些东西(如果你有图像处理工具箱):

在最左边的图像中用红色创建一个蒙版,如下所示:

BWRGB=cat(3, im2bw(crp(:,:,1)), im2bw(crp(:,:,2)),im2bw(crp(:,:,3)));
BW2=BWRGB(:,:,1)&(~BWRGB(:,:,2)&~BWRGB(:,:,3));
imshow(BW2);

mask

然后使用蒙版填充RGB图像的3个图层:

BW3=im2bw(YourImage);
BW3(:,:,1)=BW3(:,:,1).*BW2+(255*double(~BW2));
BW3(:,:,2)=BW3(:,:,1).*BW2; 
BW3(:,:,3)=BW3(:,:,1).*BW2;

imshow(im2uint8(BW3));

结果:

enter image description here