- python測(cè)試開(kāi)發(fā)項(xiàng)目實(shí)戰(zhàn)-目錄
- python工具書(shū)籍下載-持續(xù)更新
- python 3.7極速入門(mén)教程 - 目錄
pillow簡(jiǎn)介
Python Imaging Library給Python解釋器增加了圖像處理能力。
該庫(kù)提供了廣泛的文件格式支持,高效的內(nèi)部展現(xiàn),以及十分強(qiáng)大的圖像處理能力。
核心圖像庫(kù)專(zhuān)為以幾種存儲(chǔ)為基本像素格式數(shù)據(jù)的快速訪問(wèn)而設(shè)計(jì)。它為通用圖像處理工具提供了堅(jiān)實(shí)的基礎(chǔ)。
我們來(lái)看看這個(gè)庫(kù)的用途。
- 圖像存儲(chǔ)
PIL適合圖像歸檔和圖像批量處理,你可以使用它建立縮略圖,轉(zhuǎn)換格式,打印圖片等。
現(xiàn)在的版本可以識(shí)別和讀取大量的圖片格式,寫(xiě)入常用的轉(zhuǎn)換和表示格式。
- 圖像顯示
當(dāng)前版本包含了Tk PhotoImage和BitmapImage接口, 以及Windows DIB interface ,可以在PythonWin和其他基于Windows的工具包中使用。許多其他GUI工具包帶有某種類(lèi)型的PIL支持。
為了方便調(diào)試還提供了show()方法,可以保存圖像到磁盤(pán)并調(diào)用外顯示。它將圖像保存到磁盤(pán),并調(diào)用外部顯示工具。
- 圖像處理
這個(gè)庫(kù)包含了基本的圖像處理功能,包括點(diǎn)操作,使用內(nèi)置卷積內(nèi)核過(guò)濾,色彩空間轉(zhuǎn)換。
這個(gè)庫(kù)還支持更改圖像大小、旋轉(zhuǎn)、任意仿射變換。
直方圖方法允許你統(tǒng)計(jì)圖像,這可以用于對(duì)比度增強(qiáng)和全局統(tǒng)計(jì)分析。
更多內(nèi)容參見(jiàn):python庫(kù)介紹-圖像處理工具pillow中文文檔-手冊(cè)(2018 5.*)
python圖像處理pillow工具作業(yè):合并拼接圖片
圖片實(shí)例:

現(xiàn)在有多個(gè)分辨率和大小相同的圖片,要求能拼接2,3...張圖片,每行2張。展示效果如下:
2張:

3張

11張

以此類(lèi)推..
參考資料
- 本文最新版本地址
- 本文涉及的python測(cè)試開(kāi)發(fā)庫(kù) 謝謝點(diǎn)贊!
- 本文相關(guān)海量書(shū)籍下載
- python庫(kù)介紹-圖像處理工具pillow中文文檔-手冊(cè)(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.itdecent.cn/u/69f40328d4f0
# 技術(shù)支持 https://china-testing.github.io/
# https://github.com/china-testing/python-api-tesing/blob/master/practices/pil_merge.py
# 項(xiàng)目實(shí)戰(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')