使用 im2bw() 将灰度图像转换为二进制后,是否可以进行相反的操作?

信息处理 图像处理 matlab 量化 图像恢复
2022-02-09 16:19:42

我已经将灰度图像转换为二进制,im2bw()现在我想做相反的事情。我怎样才能在 MATLAB 中做到这一点?

2个回答

正如你所说的问题,你不能。将灰度图像转换为黑白(二进制),您将像素值(8 位图像的 0-256)与阈值(您定义的)进行比较,如果像素为高于阈值,如果低于阈值则为 0。二进制图像不包含有关像素值高于或低于阈值多少的信息。

如果要从原始图像中获取高于阈值的像素值,可以将二值图像与原始图像相乘。当原始图像中低于阈值的所有值乘以二进制图像中的零时,它们将被归零。原始值中高于阈值的所有像素值都将乘以 1 并保留其原始值。

不幸的是,如果你得到一个没有关于所使用阈值的信息的任意二进制图像,或者原始图像,你就无法恢复原始灰度值。

希望这可以帮助。

您已将整数矩阵转换为二值映射。它通常不是完全可逆的。打个比方:我在想一堆数字。如果我告诉你它们是奇数还是偶数,你能猜到吗?可能不是。

然而,在某些条件下(图像不是任意的,边界是已知的),近似重建可能是可能的。

一个例子来自压缩感知,例如:1-Bit Compressive Sensing