首頁 > 軟體

基於python使用Pillow做動態圖在圖中生成二維條碼以及影象處理

2022-02-16 13:01:19

1.什麼是Pillow

首先我們需要了解一下PIL(Python Imaging Library),它是Python2中非常強大的影象處理標準庫,但只支援到Python2.7。Pillow是在PIL的基礎上建立了相容的版本,支援最新Python 3.x,又加入了許多新特性。

安裝:

pip install pillow

其中Imagepillow庫的一個常用的模組,提供了很多圖片處理的方法。

2.pillow影象處理的簡單使用

圖片資訊顯示

from PIL import Image # 操作圖片的型別
 
 
# 載入圖片
image = Image.open('test1.jpg')
 
 
# 開啟圖片
# image.show()
 
# 檢視影象大小(寬度,高度)(6621, 4414)
print(image.size)
 
# # 獲取模式
print(image.mode) # RGB
#
# # 顯示的檔案的格式 JPEG
print(image.format)
#
# # 圖片的詳細資訊{'jfif': 257, nsity': (72, 72......), 
print(image.info)
#
# # 儲存為另一張圖片(可以更改圖片的格式)
image.save('test2.bmp')

修改圖片尺寸

from PIL import Image, ImageFilter
 
# 讀取圖片
image = Image.open('test.jpg')
print(image.size)
# 修改圖片的尺寸,以畫素為單位)以二元組表示:(寬度,高度)
image1 = image.resize((image.size[0]//3, image.size[1]//3))
#
image1.show()
# #
# 儲存下來
image1.save('test.jpg')

裁剪旋轉圖片

from PIL import Image, ImageFilter
 
# 讀取圖片
image = Image.open('test1.jpg')
# 裁剪圖片
# 設定一個邊緣間距[left, upper, right, lower] 左上角和右下角
image1 = image.crop(box=(0, 0, 2000, 2000)) # 600 * 336
image1.show()
# 圖片旋轉
image2 = image.rotate(45)
image2.show()

為圖片新增水印

可以為一張圖片加上二維條碼:

from PIL import Image
 
# 讀取圖片
image = Image.open('test.jpg')
 
# 讀取貼上的圖片
paste_image = Image.open('erweima.jpg')

如果需要貼上的圖片較大,可以通過resize()修改一下尺寸

image.paste(paste_image) # 預設把圖片貼上到左上角
image.show()

from PIL import Image
 
# 讀取圖片
image = Image.open('test.jpg')
 
# 讀取貼上的圖片
paste_image = Image.open('erweima.jpg')
# 也可以指定需要貼上的位置 設定二維條碼位置為右下角
position = (image.size[0] - paste_image.size[0], image.size[1] - paste_image.size[1])
image.paste(paste_image,position)
image.show()
image.save("syzp.jpg")

生成gif圖片

from PIL import Image
 
images = []
for i in range(5):
    im = Image.open('mkgif/{}.png'.format(i + 1))
    images.append(im)
images[0].save("test.gif", save_all=True, loop=True, append_images=images[1:], duration=500)

上面是pillow的一些簡單使用感興趣的鐵汁萌可以自己動手試試看哦!

到此這篇關於基於python使用Pillow做動態圖在圖中生成二維條碼以及影象處理的文章就介紹到這了,更多相關Pillow做動態圖在圖中生成二維條碼以及影象處理內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com