Python中使用PIL庫實現(xiàn)圖片高斯模糊實例
一、安裝PIL
PIL是Python Imaging Library簡稱,用于處理圖片。PIL中已經(jīng)有圖片高斯模糊處理類,但有個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)
三、調(diào)用
simg = 'demo.jpg'
dimg = 'demo_blur.jpg'
image = Image.open(simg)
image = image.filter(MyGaussianBlur(radius=30))
image.save(dimg)
print dimg, 'success'
如果只需要處理某個區(qū)域,傳入bounds參數(shù)即可
四、效果
原圖:
處理后的:
相關文章
Python自動調(diào)用IE打開某個網(wǎng)站的方法
這篇文章主要介紹了Python自動調(diào)用IE打開某個網(wǎng)站的方法,涉及Python調(diào)用系統(tǒng)win32組件的相關技巧,需要的朋友可以參考下2015-06-06Python實現(xiàn)隨機取一個矩陣數(shù)組的某幾行
今天小編就為大家分享一篇Python實現(xiàn)隨機取一個矩陣數(shù)組的某幾行,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11Python基于opencv實現(xiàn)的人臉識別(適合初學者)
OpenCV是一個基于BSD許可開源發(fā)行的跨平臺計算機視覺庫,下面這篇文章主要給大家介紹了關于Python基于opencv實現(xiàn)的人臉識別,文中通過實例代碼介紹的非常詳細,本文的教程非常適合初學者,需要的朋友可以參考下2022-03-03解析python調(diào)用函數(shù)加括號和不加括號的區(qū)別
這篇文章主要介紹了python調(diào)用函數(shù)加括號和不加括號的區(qū)別,不帶括號時,調(diào)用的是這個函數(shù)本身 ,是整個函數(shù)體,是一個函數(shù)對象,不須等該函數(shù)執(zhí)行完成,具體實例代碼跟隨小編一起看看吧2021-10-10Pytorch?autograd與邏輯回歸的實現(xiàn)詳解
這篇文章主要為大家介紹了Pytorch?autograd與邏輯回歸的實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-07-07django搭建項目配置環(huán)境和創(chuàng)建表過程詳解
這篇文章主要介紹了django搭建項目配置環(huán)境和創(chuàng)建表過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-07-07對Python subprocess.Popen子進程管道阻塞詳解
今天小編就為大家分享一篇對Python subprocess.Popen子進程管道阻塞詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10