使用Python中的PIL庫(kù)給圖片添加馬賽克
一、Pillow是什么
Pillow是一個(gè)Python圖像處理庫(kù),它是Python Imaging Library(PIL)的一個(gè)分支。Pillow提供了廣泛的圖像處理功能,包括圖像格式轉(zhuǎn)換、圖像增強(qiáng)、圖像濾波、圖像調(diào)整、圖像合成等。使用Pillow,開發(fā)人員可以很方便地處理圖像,并將其集成到他們的Python應(yīng)用程序中。Pillow兼容Python 2和3,支持多種操作系統(tǒng),包括Windows、Linux和Mac OS X等。它被廣泛用于Web開發(fā)、數(shù)據(jù)分析、機(jī)器學(xué)習(xí)等領(lǐng)域。
二、安裝PIL庫(kù)
pip install pillow
三、查看PIL庫(kù)版本
pip show pillow
Name: Pillow
Version: 9.4.0
Summary: Python Imaging Library (Fork)
Home-page: https://python-pillow.org
Author: Alex Clark (PIL Fork Author)
Author-email: aclark@python-pillow.org
License: HPND
Requires:
Required-by: image, imageio, matplotlib, pytesseract, wordcloud
四、使用方法
1.引入庫(kù)
from PIL import Image, ImageDraw
2.定義圖片路徑
local = '/Users/kkstar/Downloads/video/pic/'
3.打開需要打馬賽克的圖片
image = Image.open(local+'demo.jpg')
4.獲取圖片尺寸
width, height = image.size
5.創(chuàng)建一個(gè)新的圖片對(duì)象
mosaic_image = Image.new('RGB', (width, height), (0, 0, 0))
6.定義塊的寬高
block_size = 10
7.循環(huán)遍歷圖片中的每個(gè)塊進(jìn)行處理
# 循環(huán)遍歷圖片中的每個(gè)塊 for x in range(0, width, block_size): for y in range(0, height, block_size): # 截取當(dāng)前塊的區(qū)域 box = (x, y, x+block_size, y+block_size) block = image.crop(box) # 計(jì)算當(dāng)前塊的平均顏色 r, g, b = block.resize((1, 1)).getpixel((0, 0)) color = (r, g, b) # 在新的圖片上繪制馬賽克塊 draw = ImageDraw.Draw(mosaic_image) draw.rectangle(box, fill=color)
8.保存馬賽克圖片
mosaic_image.save(local+'mosaic.jpg')
9.效果
到此這篇關(guān)于使用Python中的PIL庫(kù)給圖片添加馬賽克的文章就介紹到這了,更多相關(guān)Python PIL添加馬賽克內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 判斷文件還是文件夾的簡(jiǎn)單實(shí)例
今天小編就為大家分享一篇python 判斷文件還是文件夾的簡(jiǎn)單實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06Python獲取當(dāng)前公網(wǎng)ip并自動(dòng)斷開寬帶連接實(shí)例代碼
這篇文章主要介紹了Python獲取當(dāng)前公網(wǎng)ip并自動(dòng)斷開寬帶連接實(shí)例代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01python實(shí)現(xiàn)在多維數(shù)組中挑選符合條件的全部元素
今天小編就為大家分享一篇python實(shí)現(xiàn)在多維數(shù)組中挑選符合條件的全部元素,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11Python備份目錄及目錄下的全部?jī)?nèi)容的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇Python備份目錄及目錄下的全部?jī)?nèi)容的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06python yield和Generator函數(shù)用法詳解
這篇文章主要介紹了python yield和Generator函數(shù)用法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02Python中三元運(yùn)算符的簡(jiǎn)潔性及多用途實(shí)例探究
這篇文章主要為大家介紹了Python中三元運(yùn)算符的簡(jiǎn)潔性及多用途實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01Python中跳臺(tái)階、變態(tài)跳臺(tái)階與矩形覆蓋問(wèn)題的解決方法
這篇文章主要給大家介紹了關(guān)于Python中跳臺(tái)階、變態(tài)跳臺(tái)階與矩形覆蓋問(wèn)題的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05python實(shí)現(xiàn)每天定時(shí)發(fā)送郵件的流程步驟
這篇文章主要介紹了python實(shí)現(xiàn)每天定時(shí)發(fā)送郵件的流程步驟,要編寫一個(gè)用于自動(dòng)發(fā)送每日電子郵件報(bào)告的 Python 腳本,并配置它在每天的特定時(shí)間發(fā)送電子郵件,文中給大家介紹了詳細(xì)步驟和示例代碼,需要的朋友可以參考下2024-08-08