2012-05-30 40 views
3

我有一個圖像包含一些文本(在標準文檔字體大小),我試圖模糊圖像,以便文本不再可讀。使用Python圖像庫模糊包含文本的圖像

但是,PIL中的默認ImageFilter.BLUR太強大了,所以圖像只是空白,除了一個像素在這裏和那裏。

PIL中某個地方是否有較弱的BLUR?還是有更好的過濾器/更好的方法?

回答

5

BLUR只是在ImageFilter.Kernel預設:

class BLUR(BuiltinFilter): 
    name = "Blur" 
    filterargs = (5, 5), 16, 0, (
     1, 1, 1, 1, 1, 
     1, 0, 0, 0, 1, 
     1, 0, 0, 0, 1, 
     1, 0, 0, 0, 1, 
     1, 1, 1, 1, 1 
     ) 

其中BuiltinFilter是內核的一個簡單的定製子類,繞過構造,filterargs包含sizescaleoffsetkernel。換句話說,在BLUR的當量:

BLUR = Kernel((5, 5), (1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1)) 

規模被設置爲缺省值(16,25份重量的總和),因爲是偏移量。

你可以嘗試使用一個較小的內核,而不是:

mildblur = Kernel((3, 3), (1, 1, 1, 1, 0, 1, 1, 1, 1)) 

或與發揮規模和偏移值。

+0

仍然無法模糊與該示例的文字,但現在我知道從哪裏開始。我會玩它,看看我可以做什麼樣的過濾器。 謝謝。 –