Pillow庫的使用


<!doctype html>Python - Pillow庫的使用

Python - Pillow庫的使用

PIL(Python Imaging Library)是python圖像處理庫,Pillow是一個對PIL友好的分支.

Image類

PIL中最重要的是Image類,可以通過幾種方法實例化:從文件中加載圖像,處理其他圖像得到,或者直接創建一個圖像.

1.從文件中加載圖像

使用open()函數加載圖像.

from PIL import Image

im = Image.open("imgs/1.jpg")
print(im.format,im.size,im.mode)    #JPEG (768, 1024) RGB

.format屬性標識了圖像的來源,如果圖像不是從文件讀取則返回None

.size返回一個元組(width,height),單位為px

.mode定義了圖像bands的數量和名稱,以及像素類型和深度,常見的值有"L"(luminance,灰度圖),"RGB"(真彩色圖像),"CMYK"(出版圖像).

使用.crop()對圖像進行剪切

box = (50,100,718,924)
region = im.crop(box)
print(region)
region.show()

使用.rotate(x)對圖像進行旋轉(x:圖片逆時針旋轉的角度)

region=region.rotate(90)    #圖像旋轉,畫布不旋轉
region.show()

使用.transpose()對圖片進行旋轉

可傳入的參數有:

Image.FLIP_LEFT_RIGHT #圖片左右翻轉

Image.FLIP_TOP_BOTTOM #圖片上下翻轉

# region = region.transpose(Image.FLIP_TOP_BOTTOM)
# region = region.transpose(Image.FLIP_LEFT_RIGHT)
# region = region.transpose(Image.ROTATE_90)
# region = region.transpose(Image.ROTATE_180)
region = region.transpose(Image.ROTATE_270)
region.show()
#以上方式畫布均跟隨旋轉

使用.paste()對圖片進行黏貼合並

粘貼矩形選區時必須保持尺寸一致

region = region.transpose(Image.FLIP_LEFT_RIGHT)
im.paste(region,box)
im.show()

.resize((width,height))對圖像進行大小變換

im = im.resize((400,600))
im.show()

.convert("mode")顏色變換

# im = im.convert("L")
im = im.convert("CMYK")
im.show()

.save()保存圖片

region.save("imgs/4.jpg")

2.圖片轉字符串

原理:

用一個字符表示一種顏色,將彩色圖(RGB)轉換為灰度圖,用著名的心理學公式

Grey = R*0.299 + G*0.587 + B*0.144

灰度值:指黑白圖像中點的顏色深度,范圍0~255,255為白,0為黑.

.......

ImageGrab.grab() 實現抓屏

from PIL import ImageGrab
import time

time.sleep(5)
image1 = ImageGrab.grab()	#可傳入一個元組表示抓取屏幕的坐標
print(image1.size,image1.mode)
image1.save("imgs/6.jpg")
image1.show()

使用.filter()對圖片進行濾鏡處理

# image1 = image1.filter(ImageFilter.CONTOUR)
# image1 = image1.filter(ImageFilter.BLUR)
# image1 = image1.filter(ImageFilter.EDGE_ENHANCE)
image1 = image1.filter(ImageFilter.EDGE_ENHANCE_MORE)
image1.save("imgs/6.jpg")
image1.show()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM