matlab中图像的逻辑AND

时间:2014-02-18 09:47:41

标签: matlab image-processing

 image=double(imread('ooutput.jpg'));
 [M, N]=size(image); 
  masked=zeros(M,N);
  masked(1:100,1:90)=255;
     masked(175:300,1:90)=255;
     imshow(masked);
    new=uint8( masked&image);
   imshow(new);

我使用了逻辑并获得了图像的一部分。这里创建了一个掩模并且逻辑上它与图像一起。我无法获得该部分。而不是获得完整的黑色像素。任何人都可以指出错误是什么在上面的代码中?

1 个答案:

答案 0 :(得分:2)

'masked& image'为1或0.使用uint8,两者都接近黑色。除此之外,除了灰度uint 8之外,所有图像类型的代码都会失败。

要修复遮罩问题,请使用:

image=imread('ooutput.jpg');
masked=false(M,N);
masked(1:100,1:90)=true;
masked(175:300,1:90)=true;
image(~masked)=0
imshow(image);