福哥今天要詳情的跟大家講講圖像處理庫Pillow的使用技巧,Pillow是一個非常強大的圖像處理庫,基本可以滿足日常使用當中的所有圖片加工的需求。
學會Pillow庫的使用技巧,就可以對我們的照片進行自動化的加工處理了。
2. 格式轉換可以使用convert方法轉換圖片模式
2.1 參數說明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)
2.2 示例下面給出一個示例,將圖片打開後,轉換成黑白色的圖片,並保存起來
from PIL import Image
im = Image.open("demo.jpg")im = im.convert("1")im.save("demo_bw.jpg")原圖
轉換後
3. 濾鏡
可以使用filter方法對圖片使用濾鏡進行處理
3.1 參數高斯模糊 ImageFilter.GaussianBlur
普通模糊 ImageFilter.BLUR
邊緣增強 ImageFilter.EDGE_ENHANCE
找到邊緣 ImageFilter.FIND_EDGES
浮雕 ImageFilter.EMBOSS
輪廓 ImageFilter.CONTOUR
銳化 ImageFilter.SHARPEN
平滑 ImageFilter.SMOOTH
細節 ImageFilter.DETAIL
3.2 示例下面給出一個例子,打開一張圖片,對圖片鏡像模糊處理,並保存起來
from PIL import Imagefrom PIL import ImageFilter
im = Image.open("demo.jpg")im = im.filter(ImageFilter.BLUR) im.save("demo_blur.jpg")原圖
加工後
4. 對比度
調整圖片對比度可以使用ImageEnhance庫
4.1 示例下面給出一個例子
from PIL import Imagefrom PIL import ImageEnhance
im = 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")原圖
加工後
5. 旋轉
可以使用rotate進行任意角度的旋轉,也可以使用transpose進行特殊角度的旋轉
5.1 transpose參數
5.2 示例from PIL import Image
im = 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")原圖
加工後
6. 類型轉換
使用pillow轉換圖片類型就是直接存成響應的擴展名的圖片即可
6.1 示例轉成png類型
from PIL import Image
im = Image.open("demo.jpg")im = im.convert("RGB")im.save("demo.png")7. 縮放可以使用resize方法簡單的對圖片的尺寸繼續縮放
7.1 示例將圖片縮小至300*230尺寸
from PIL import Image
im = Image.open("demo.jpg")im = im.resize((300, 230))im.save("demo_resize.jpg")8. 圖層我們可以把圖片想成一張圖紙,可以使用裁剪技巧將圖紙的一部分複印到另一張圖紙上,也可以將多張圖紙壓合成一張圖紙,這種圖紙可以稱之為——圖層,和PS軟體類型的處理
8.1 裁剪使用crop方法從一張圖片上裁剪下拉一部分圖像放到一個圖層裡,這個圖層可以單獨進行加工處理
8.2 粘貼使用paste方法將一個圖像放到另外一個圖像裡面,合併這兩個圖層到一起
8.3 示例從圖片中間裁剪出來一小塊圖像,經過黑白處理後,再粘貼回去,合併成一張新圖片
from PIL import Image
im = 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")原圖
加工後
9. 屏幕截圖
使用ImageGrab實現屏幕截圖的功能
9.1 示例截取全屏畫面,存到一個文件裡
from PIL import ImageGrab
im = ImageGrab.grab()im.save("demo_fullscreen.jpg")截取屏幕左上角的500*500的區域畫面
from PIL import ImageGrab
im = ImageGrab.grab((0, 0, 500, 500))im.save("demo_part.jpg")10. 總結
Pillow功能很多,而且方法很友好,可以用來對自己的照片進行批量加工處理使用。
今天福哥就給大家介紹到這裡了~~
免費看文章,自己學技術
每一篇文章都是福哥一個字一個字地敲出來的,都是福哥原創的。
每一篇文章都是經過了福哥的反覆驗證的,都是可以正常使用的。