2011-06-09 169 views
2

我需要执行图像平滑。我搜索了网页,但没有找到任何东西 - 我尝试过的每一件事都不像我想要的那样。在Matlab中平滑图像

例如: enter image description hereenter image description here

当你看到有碰伤或类似楼梯,所以我应该这样做将线条是直的?

感谢....

+1

你可能想看看[SO:图像平滑](http://stackoverflow.com/q/6085796/277290) – YetAnotherUser 2011-06-09 16:18:37

+0

你可能想使用形态学运算符 - 尝试做一个'erode'由'扩张'。 – 2011-06-09 16:28:24

+0

Google空间反锯齿滤镜 – Phonon 2011-06-09 16:29:47

回答

3

如果输出图像的分辨率比楼梯的分辨率越高,那么你可以做任何事情都。仅举几例。

  1. 灰度(或二进制),使用周围的物体的边缘imclose
  2. edge-enhancing smoothing
  3. 行军形态学处理,确定角部在面罩,以及使图像局部凸,但是这将需要一些编码。

The Matlab File Exchange is your friend.

如果输出图像的分辨率是一样的楼梯,并且输出灰度,你几乎受限于反锯齿滤波器。

如果输出图像的分辨率与楼梯相同,而输出是二进制的,那么显然你不能做任何事情。

+0

“如果输出图像的分辨率高于楼梯的分辨率”是什么意思,那么空间抗锯齿滤波器就是答案(正如Phonon所说)?如果我对你的理解正确,所以输出图像的分辨率与输入的分辨率相同,但是我正在缩放它以查看是否有楼梯,因为我正在预成型OCR,并且我认为这会干扰识别。输出图像是二进制的。谢谢 – 2011-06-09 19:47:00

+0

我的意思是说,对于我们上面看到的每1个像素,您的输出分辨率可能会有大量的像素(比如5x5像素块)。如果是(有时会出现),那么你会采取不同的方法。但显然并非如此。既然你有二进制输出,我不知道你能做什么。也许你可以模拟一个你想要输出的样子的图像? – 2011-06-09 20:17:13

+0

如果我的图像在灰度级别,那我该怎么办?因为我也有灰阶的数字,也许我会检查它们。再次感谢。 – 2011-06-09 20:40:52