在Python中使用PIL模塊對圖片進行高斯模糊處理的教程
更新時間:2015年05月05日 17:05:21 投稿:goldensun
這篇文章主要介紹了在Python中使用PIL模塊對圖片進行高斯模糊處理的教程,這個無圖形界面的腳本代碼非常簡單,需要的朋友可以參考下
從一篇文章中看到,PIL 1.1.5 已經(jīng)內(nèi)置了高斯模糊,但是并沒有在文檔中提及,而且PIL的高斯模糊中 radius 是硬編碼, 雖然構(gòu)造方法中有傳入 radius 參數(shù),但壓根就沒有用到 (看這里),所以需要自己進行改造,當然,知道了原因, 修改起來自然非常簡單了。
結(jié)合帖子中的需求,對局部進行高斯模糊,所以還需要結(jié)合使用 crop 和 paste 方法實現(xiàn)局部使用濾鏡。
代碼如下:
#-*- coding: utf-8 -*-
from PIL import Image, ImageFilter
class MyGaussianBlur(ImageFilter.Filter):
name = "GaussianBlur"
def __init__(self, radius=2, bounds=None):
self.radius = radius
self.bounds = bounds
def filter(self, image):
if self.bounds:
clips = image.crop(self.bounds).gaussian_blur(self.radius)
image.paste(clips, self.bounds)
return image
else:
return image.gaussian_blur(self.radius)
bounds = (150, 130, 280, 230)
image = Image.open('source.jpg')
image = image.filter(MyGaussianBlur(radius=29, bounds=bounds))
image.show()
可以看下效果:


相關(guān)文章
Python中*args和**kwargs的區(qū)別詳解
這篇文章主要介紹了Python中*args和**kwargs的區(qū)別詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-09-09
Python使用pptx實現(xiàn)復制頁面到其他PPT中
這篇文章主要為大家詳細介紹了python如何使用pptx庫實現(xiàn)從一個ppt復制頁面到另一個ppt里面,文中的示例代碼講解詳細,感興趣的可以嘗試一下2023-02-02
import?sklearn報錯正確安裝sklearn的解決方法
這篇文章主要介紹了import?sklearn報錯正確安裝sklearn的解決方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04

