介紹
介紹
福哥今天要詳情的跟大家講講影象處理庫Pillow的使用技巧,Pillow是一個非常強大的影象處理庫,基本可以滿足日常使用當中的所有圖片加工的需求。
學會Pillow庫的使用技巧,就可以對我們的照片進行自動化的加工處理了。
格式轉換可以使用convert方法轉換圖片模式
引數說明
1 (1-bit pixels, black and white, stored with one pixel per byte)L (8-bit pixels, black and white)P (8-bit pixels, mapped to any other mode using a colour palette)RGB (3x8-bit pixels, true colour)RGBA (4x8-bit pixels, true colour with transparency mask)CMYK (4x8-bit pixels, colour separation)YCbCr (3x8-bit pixels, colour video format)I (32-bit signed integer pixels)F (32-bit floating point pixels)示例
下面給出一個示例,將圖片開啟後,轉換成黑白色的圖片,並儲存起來
from PIL import Imageim = Image.open("demo.jpg")im = im.convert("1")im.save("demo_bw.jpg")
原圖
轉換後
濾鏡可以使用filter方法對圖片使用濾鏡進行處理
引數
高斯模糊 ImageFilter.GaussianBlur普通模糊 ImageFilter.BLUR邊緣增強 ImageFilter.EDGE_ENHANCE找到邊緣 ImageFilter.FIND_EDGES浮雕 ImageFilter.EMBOSS輪廓 ImageFilter.CONTOUR銳化 ImageFilter.SHARPEN平滑 ImageFilter.SMOOTH細節 ImageFilter.DETAIL示例
下面給出一個例子,開啟一張圖片,對圖片映象模糊處理,並儲存起來
from PIL import Imagefrom PIL import ImageFilterim = Image.open("demo.jpg")im = im.filter(ImageFilter.BLUR) im.save("demo_blur.jpg")
原圖
加工後
對比度調整圖片對比度可以使用ImageEnhance庫
示例
下面給出一個例子
from PIL import Imagefrom PIL import ImageEnhanceim = Image.open("demo.jpg")# 調整亮度mod = ImageEnhance.Brightness(im)im = mod.enhance(1.2)# 調整色彩mod = ImageEnhance.Color(im)im = mod.enhance(1.2)# 調整對比度mod = ImageEnhance.Contrast(im)im = mod.enhance(1.2)# 調整銳度mod = ImageEnhance.Sharpness(im)im = mod.enhance(1.2)im.save("demo_mod.jpg")
原圖
加工後
旋轉可以使用rotate進行任意角度的旋轉,也可以使用transpose進行特殊角度的旋轉
transpose引數
水平方向對調 Image.FLIP_LEFT_RIGHT垂直方向對調 Image.FLIP_TOP_BOTTOM旋轉90度 Image.ROTATE_90旋轉180度 Image.ROTATE_180旋轉270度 Image.ROTATE_270示例
from PIL import Imageim = Image.open("demo.jpg")im = im.rotate(15)im.save("demo_rotate.jpg")im = Image.open("demo.jpg")im = im.transpose(Image.FLIP_LEFT_RIGHT)im.save("demo_flip.jpg")
原圖
加工後
型別轉換使用pillow轉換圖片型別就是直接存成響應的副檔名的圖片即可
示例
轉成png型別
from PIL import Imageim = Image.open("demo.jpg")im = im.convert("RGB")im.save("demo.png")
縮放
可以使用resize方法簡單的對圖片的尺寸繼續縮放
示例
將圖片縮小至300*230尺寸
from PIL import Imageim = Image.open("demo.jpg")im = im.resize((300, 230))im.save("demo_resize.jpg")
圖層我們可以把圖片想成一張圖紙,可以使用裁剪技巧將圖紙的一部分影印到另一張圖紙上,也可以將多張圖紙壓合成一張圖紙,這種圖紙可以稱之為——圖層,和PS軟體型別的處理
裁剪
使用crop方法從一張圖片上裁剪下拉一部分影象放到一個圖層裡,這個圖層可以單獨進行加工處理
貼上
使用paste方法將一個影象放到另外一個影象裡面,合併這兩個圖層到一起
示例
從圖片中間裁剪出來一小塊影象,經過黑白處理後,再貼上回去,合併成一張新圖片
from PIL import Imageim = Image.open("demo.jpg")rect = (500, 250, 800, 550)part = im.crop(rect)part = part.convert("1")im.paste(part, rect)im.save("demo_mod.jpg")
原圖
加工後
螢幕截圖使用ImageGrab實現螢幕截圖的功能
示例
擷取全屏畫面,存到一個檔案裡
from PIL import ImageGrabim = ImageGrab.grab()im.save("demo_fullscreen.jpg")
擷取螢幕左上角的500*500的區域畫面
from PIL import ImageGrabim = ImageGrab.grab((0, 0, 500, 500))im.save("demo_part.jpg")
總結
Pillow功能很多,而且方法很友好,可以用來對自己的照片進行批次加工處理使用。
今天福哥就給大家介紹到這裡了~~
https://m.tongfu.net/home/35/blog/512789.html