首頁>技術>

介紹

介紹

福哥今天要詳情的跟大家講講影象處理庫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

14
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 建議收藏,mybatis外掛原理詳解