如何知道在imread
中使用Img = imread(IMGsrc);
T = Img== 1 | Img == 0;
If min(min(T)) == ??????
imshow(T);
end
读取的图像是否为二进制文件
我这样做了:
{{1}}
????? = ??????
答案 0 :(得分:5)
有两种方法可以测试二进制图像。
最简单的方法是测试图像是否是逻辑数组(逻辑数组由图像处理工具箱中返回二进制图像的函数返回)
isBinaryImage = islogical(img);
或者,您可以检查所有像素是1还是0
isBinaryImage = all( img(:)==0 | img(:)==1);
答案 1 :(得分:0)
假设“二进制”表示“每个像素都是1或0”,给出图像I
的几件事情:
size(I)
应该只返回行和列(不是通道),否则它不是二进制1
测试每个像素0
或T = I == 1 | I == 0;
。如果min(min(T))
返回除1
之外的任何内容,则至少有一个像素未通过该测试,这意味着有一个既不是0
也不是1
的值。 (就此而言,您可以使用类似的测试来检查任意数量的枚举值,而不仅仅是0
和1
。)如果您可以进一步澄清“二元”的含义,那将会有很长的路要走,以获得更好的答案。