pillow簡介
Python Imaging Library給Python解釋器增加了圖像處理能力。
該庫提供了廣泛的文件格式支持艺普,高效的內(nèi)部展現(xiàn),以及十分強大的圖像處理能力夹孔。
核心圖像庫專為以幾種存儲為基本像素格式數(shù)據(jù)的快速訪問而設(shè)計巩那。它為通用圖像處理工具提供了堅實的基礎(chǔ)。
我們來看看這個庫的用途。
- 圖像存儲
PIL適合圖像歸檔和圖像批量處理瞳步,你可以使用它建立縮略圖,轉(zhuǎn)換格式腰奋,打印圖片等单起。
現(xiàn)在的版本可以識別和讀取大量的圖片格式,寫入常用的轉(zhuǎn)換和表示格式劣坊。
- 圖像顯示
當(dāng)前版本包含了Tk PhotoImage和BitmapImage接口, 以及Windows DIB interface 嘀倒,可以在PythonWin和其他基于Windows的工具包中使用。許多其他GUI工具包帶有某種類型的PIL支持。
為了方便調(diào)試還提供了show()方法测蘑,可以保存圖像到磁盤并調(diào)用外顯示灌危。它將圖像保存到磁盤,并調(diào)用外部顯示工具碳胳。
- 圖像處理
這個庫包含了基本的圖像處理功能勇蝙,包括點操作,使用內(nèi)置卷積內(nèi)核過濾挨约,色彩空間轉(zhuǎn)換味混。
這個庫還支持更改圖像大小、旋轉(zhuǎn)诫惭、任意仿射變換翁锡。
直方圖方法允許你統(tǒng)計圖像,這可以用于對比度增強和全局統(tǒng)計分析贝攒。
更多內(nèi)容參見:python庫介紹-圖像處理工具pillow中文文檔-手冊(2018 5.*)
python圖像處理pillow工具作業(yè):合并拼接圖片
圖片實例:
圖片.png
現(xiàn)在有多個分辨率和大小相同的圖片盗誊,要求能拼接2,3...張圖片,每行2張隘弊。展示效果如下:
2張:
圖片.png
3張
圖片.png
11張
圖片.png
以此類推..
參考資料
- 本文最新版本地址
- 本文涉及的python測試開發(fā)庫 謝謝點贊哈踱!
- 本文相關(guān)海量書籍下載
- python庫介紹-圖像處理工具pillow中文文檔-手冊(2018 5.*)
- 代碼地址:https://github.com/china-testing/python-api-tesing/blob/master/practices/pil_merge.py
代碼
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# 技術(shù)支持:http://www.reibang.com/u/69f40328d4f0
# 技術(shù)支持 https://china-testing.github.io/
# https://github.com/china-testing/python-api-tesing/blob/master/practices/pil_merge.py
# 項目實戰(zhàn)討論QQ群630011153 144081101
# CreateDate: 2018-11-22
import math
from PIL import Image
column = 2
width = 802
height = 286
size = (802, 286)
list_im = [r'd:\code.jpg', r'd:\code.jpg', r'd:\code.jpg', r'd:\code.jpg',
r'd:\code.jpg', r'd:\code.jpg', r'd:\code.jpg', r'd:\code.jpg',
r'd:\code.jpg', r'd:\code.jpg', r'd:\code.jpg']
list_im = list_im*11
imgs = [Image.open(i) for i in list_im]
row_num = math.ceil(len(imgs)/column)
target = Image.new('RGB', (width*column, height*row_num))
for i in range(len(list_im)):
if i % column == 0:
end = len(list_im) if i + column > len(list_im) else i + column
for col, image in enumerate(imgs[i:i+column]):
target.paste(image, (width*col, height*(i//column),
width*(col + 1), height*(i//column + 1)))
target.show()
target.save('d:\code2.jpg')