在Matlab中将二进制图像转换为灰度图像

问题描述:

我在光学字符识别系统上工作。在Matlab中将二进制图像转换为灰度图像

我想将车牌图像从二进制转换为灰度。

让我们看看下面的例子:

这是二进制图像:

enter image description here

,这是灰度:

enter image description here

什么,我想知道是否有办法将其从二进制转换为灰色,或者这是不可能的,因为我已经失去了t他在开始时将图片转换为二进制文件时的信息。

任何想法如何做到这一点?感谢

+0

“灰度”是什么意思?二进制图像只有黑色和白色,所以你期望灰色值来自哪里?你想做某种过滤吗? – gnovice 2011-03-29 04:29:35

+0

@gnovice我更新了问题。 – 2011-03-29 11:36:35

logical类的二进制图像转换为double级的灰度图像,你只需拨打

double(yourBinaryImage) 

编辑

从二进制图像恢复的灰度图像如果没有灰度图像,阈值之前是不可能的,因为通过阈值处理,您已经丢弃了所有的灰度纹理信息。

+0

我已经试过了,我没有看到任何改变。图像仍然看起来像黑色和白色。感谢您的回复。 – 2011-03-28 22:25:12

+0

@Michael:灰度图像中的信息与二进制图像中的信息相同,所以转换后不应该有任何改变。但是,灰度图像现在可以采用0到1之间的任意值。例如,如果您编写“myImage(1:5,1:5)= 0.5”,则左上角会显示灰色。 – Jonas 2011-03-29 00:56:40

+0

我更新了问题。 – 2011-03-29 11:35:27

也许你可以使用距离变换来实现二值图像的灰度图像。在MATLAB中,尝试bwdist或类似的东西。 结果当然不会是原始的灰度图像。

+0

yan le cunn将二进制图像转换为灰度图的反锯齿重采样的任何想法。 – 2017-05-22 19:35:03