2017-07-16 86 views
1

如何創建一個檢測圖片中未模糊部分的算法?例如,它會看這樣的畫面:檢測部分模糊圖像

enter image description here

,實現非模糊部分是:

enter image description here

我在here看到了如何測量整個圖片的模糊。對於這個問題,我應該只爲像素創建最大絕對二階導數的閾值?然後,無論哪個超過,都被認爲是非模糊區域?

+2

聽起來很不錯。不過,你可能需要做一些後處理。你爲什麼不試試?另一種方法是在每個像素周圍畫一個小窗口並分析頻率。如果沒有高頻,它可能在模糊的區域。 –

+0

@NicoSchertler謝謝!會做。如果它不能解決問題,我應該怎麼做?我猜想不允許重新發佈一個問題。 –

+0

您可以編輯您的問題以反映您的新發現。據我所知,這個問題將重新出現在SO的首頁。 –

回答

1

一個簡單的解決方案是檢測高頻內容。

如果某個地區沒有高頻內容,可能是因爲模糊。

如何檢測沒有高頻內容的區域?您可以在頻域中執行此操作(例如,使用DCT),或者您可以在空間域中執行此操作。

首先,我推薦空間域方法。

您需要某種高通濾波器。最簡單的方法是模糊的圖像(例如,具有高斯濾波器),然後從原始減去它,然後將其轉換爲灰度:

模糊:

enter image description here

消減:

enter image description here

如您所見,所有模糊的像素變暗,高頻內容變亮。現在,你可能想混淆這個形象,並應用門檻,得到這樣的:

enter image description here

注:這個過程是由手工完成,與瘸子。你的算法可以很容易地遵循這一點,但需要指定一些參數(如模糊半徑,閾值)。

+0

哇!這是一個創新的想法。它也是有意義的。謝謝! –