在Python中使用PIL模塊對(duì)圖片進(jìn)行高斯模糊處理的教程
從一篇文章中看到,PIL 1.1.5 已經(jīng)內(nèi)置了高斯模糊,但是并沒(méi)有在文檔中提及,而且PIL的高斯模糊中 radius 是硬編碼, 雖然構(gòu)造方法中有傳入 radius 參數(shù),但壓根就沒(méi)有用到 (看這里),所以需要自己進(jìn)行改造,當(dāng)然,知道了原因, 修改起來(lái)自然非常簡(jiǎn)單了。
結(jié)合帖子中的需求,對(duì)局部進(jìn)行高斯模糊,所以還需要結(jié)合使用 crop 和 paste 方法實(shí)現(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)文章
在Mac中配置Python虛擬環(huán)境過(guò)程解析
這篇文章主要介紹了在Mac中配置Python虛擬環(huán)境過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06IDEA創(chuàng)建python項(xiàng)目詳細(xì)圖文教程
在開(kāi)始編寫(xiě)Python代碼之前,需要在IDEA中配置Python環(huán)境,下面這篇文章主要給大家介紹了關(guān)于IDEA創(chuàng)建python項(xiàng)目的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-10-10Python?pycharm讀取文件相對(duì)路徑與絕對(duì)路徑的方法
這篇文章主要給大家介紹了關(guān)于Python?pycharm讀取文件相對(duì)路徑與絕對(duì)路徑的方法,絕對(duì)路徑就是文件的真正存在的路徑,是指從硬盤(pán)的根目錄(盤(pán)符)開(kāi)始,進(jìn)行一級(jí)級(jí)目錄指向文件,相對(duì)路徑就是以當(dāng)前文件為基準(zhǔn)進(jìn)行一級(jí)級(jí)目錄指向被引用的資源文件,需要的朋友可以參考下2023-12-12Python進(jìn)程間通信multiprocess代碼實(shí)例
這篇文章主要介紹了Python進(jìn)程間通信multiprocess代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03