Matlab中的二值图像

时间:2010-05-21 23:46:03

标签: image matlab binary

如何知道在imread中使用Img = imread(IMGsrc); T = Img== 1 | Img == 0; If min(min(T)) == ?????? imshow(T); end 读取的图像是否为二进制文件

我这样做了:

{{1}}

????? = ??????

2 个答案:

答案 0 :(得分:5)

有两种方法可以测试二进制图像。

最简单的方法是测试图像是否是逻辑数组(逻辑数组由图像处理工具箱中返回二进制图像的函数返回)

isBinaryImage = islogical(img);

或者,您可以检查所有像素是1还是0

isBinaryImage = all( img(:)==0 | img(:)==1);

答案 1 :(得分:0)

假设“二进制”表示“每个像素都是1或0”,给出图像I的几件事情:

  • size(I)应该只返回行和列(不是通道),否则它不是二进制
  • 您可以使用1测试每个像素0T = I == 1 | I == 0;。如果min(min(T))返回除1之外的任何内容,则至少有一个像素未通过该测试,这意味着有一个既不是0也不是1的值。 (就此而言,您可以使用类似的测试来检查任意数量的枚举值,而不仅仅是01。)

如果您可以进一步澄清“二元”的含义,那将会有很长的路要走,以获得更好的答案。