Image 将灰度图像转换为黑白

Image 将灰度图像转换为黑白,image,matlab,binary,converter,grayscale,Image,Matlab,Binary,Converter,Grayscale,我有一个灰度图像,只有60和117的值。如何将图像转换为只有黑色和白色而没有灰度 我尝试了matlab函数gray2ind,但没有得到预期的输出 谢谢。尝试im2bw(img,级别)使用level=0.5 这是一个matlab函数,它获取灰度图像img,应用级别的阈值(介于[0,1]之间的值),并返回黑白图像 此函数是图像处理工具箱的一部分。您的案例非常简单,您也可以尝试以下方法: bwImg = false(size(img)); bwImg(img == 117) = true; 我对上面

我有一个灰度图像,只有
60
117
的值。如何将图像转换为只有
黑色
白色
而没有灰度

我尝试了
matlab
函数
gray2ind
,但没有得到预期的输出

谢谢。

尝试
im2bw(img,级别)
使用
level=0.5

这是一个matlab函数,它获取灰度图像
img
,应用
级别的阈值(介于[0,1]之间的值),并返回黑白图像

此函数是图像处理工具箱的一部分。您的案例非常简单,您也可以尝试以下方法:

bwImg = false(size(img));
bwImg(img == 117) = true;
我对上面的内容进行了编辑,将值设置为false/true,以更接近地模拟Matlab的
im2bw()
,它返回一个
逻辑值的矩阵,而不是
整数


第二次编辑:修改代码块以反映@Amro建议的改进,或用于确定
级别
。由于图像只有两个级别,因此可以简化为:
bwImg=(img==117)。顺便说一句,用
false(size(img))
而不是
zero进行初始化,以获取回复的逻辑矩阵。我可以把它扩展到3,4,5等值吗?我这里的问题是:对于为
threshold
选择的任何值,通过将
bwImg(img==117)=true
更改为
bwImg(img>threshold)=true,您应该能够将其扩展到任意数量的值。阈值的选择完全取决于您最初将图像转换为黑白图像的意图。在您的示例中,在(17,56)处,实际上只有两个有意义的阈值。阈值低于17或高于180将导致无趣的图像。在更广泛的应用程序中,您可以通过
hist(img)
检查原始像素值的直方图,以便更好地了解阈值。