一、安裝PIL
PIL是Python Imaging Library簡稱,用于處理圖片。PIL中已經有圖片高斯模糊處理類,但有個bug(目前最新的1.1.7bug還存在),就是模糊半徑寫死的是2,不能設置。在源碼ImageFilter.py的第160行:
所以,我們在這里自己改一下就OK了。
項目地址:http://www.pythonware.com/products/pil/
二、修改后的代碼
代碼如下:
#-*- 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)
三、調用
simg = 'demo.jpg'
dimg = 'demo_blur.jpg'
image = Image.open(simg)
image = image.filter(MyGaussianBlur(radius=30))
image.save(dimg)
print dimg, 'success'
如果只需要處理某個區域,傳入bounds參數即可
四、效果
原圖:
處理后的:
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
