隨便講講Python圖像處理庫PIL的使用
隨便講講Python圖像處理庫PIL的使用
如何下載安裝PIL
我們可以使用pip來安裝,但是需要注意的是如果輸入pip install PIL的話會報錯:
ERROR: Could not find a version that satisfies the requirement PIL (from versions: none) ERROR: No matching distribution found for PIL
這是因為PIL是只支持Python2.x的,所以我們使用Python3的小伙伴只能使用pillow,pillow可以說是Python3的PIL,功能、用法都差不太多。
為什么會出現Piilow?
PIL只支持Python2.
PIL 不兼容setuptools.
PIL更新速度令人難以忍受,一年只有兩次更新。
PIL多個模塊介紹
Image是PIL中最重要的模塊之一,任何一張圖片都可以使用Image對象來表示。
from PIL import Image im = Image.open("pic.jpg")
這里要注意在使用交互式處理圖片文件時,應該使用文件的全路徑,如果運行py文件,還是建議采用相對路徑。
我們可以使用Image類的一些屬性來查看圖片文件的一些信息:
im = Image.open("eyecatch.jpg") print(im.format,im.size,im.mode)
輸出結果:
JPEG (1200, 630) RGB
這個Image.format是用來標識圖片的格式或來源,如果圖片并不是通過讀取文件得到的,那么值就是None。這個Image.mode就是圖片的色彩模式,有三種色彩模式,一種是“L”:灰度圖片,一種是“RGB”:真彩圖片,最后一種是“CMYK”,是出版圖片。至于Image.size它是顯示圖片的高和寬的,其代表高多少像素,寬多少像素,打印該屬性得到的是一個二元元組。
我們還可以利用Image的一些方法來進行圖像轉換和保存。
from PIL import Image im = Image.open("eyecatch.jpg") im.thumbnail((128,128)) im.save("EYECATCH.jpg")
這里是創建圖片的略縮圖。尺寸為128*128。
然后調用save方法保存圖片。
也可以使用convert(mode)來轉換圖片到新的模式。
可以使用Image.size和Image.rotate來調整圖像的大小和進行旋轉圖片。
2. ImageFilter
我們可以使用ImageFilter來過濾圖像,比如活動一張圖片的輪廓效果,我們可以這樣:
# -*- coding: utf-8 -*- from PIL import Image from PIL import ImageFilter im = Image.open("google-chrome-eyecatch.jpg") om = im.filter(ImageFilter.CONTOUR()) om.save("bd.jpg")
還有很多同ImageFilter.CONTOUR()的模式,大家可以試一試。
ImageFilter.BLUR 讓圖片產生模糊效果。
ImageFilter.DETAIL 讓圖片有細節效果。
ImageFilter.EDGE_ENHANCE 讓圖片的邊界有加強效果。
ImageFilter.SHARPEN 產生圖片銳化效果
還有很多在此不贅敘了,可以查看它的文檔。
3. ImageEnhance
ImageEnhance模塊擁有了更加高級的圖像增強功能.
比如我們可以增強圖片的對比度:
# -*- coding: utf-8 -*- from PIL import Image from PIL import ImageEnhance im = Image.open("google-chrome-eyecatch.jpg") om = ImageEnhance.Contrast(im) om.enhance(20).save("bd.jpg")
我們還可以通過imageEnhance.Color()調整其顏色平衡,通過imageEnhance.Brightness()調整其亮度。
Python 圖像處理
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。