2011-06-09 170 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