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)
检查原始像素值的直方图,以便更好地了解阈值。