<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
PIL:Python Imaging Library,已經是Python平臺事實上的影象處理標準庫了。PIL功能非常強大,但API卻非常簡單易用。
由於PIL僅支援到Python 2.7,加上年久失修,於是一群志願者在PIL的基礎上建立了相容的版本,名字叫Pillow,支援最新Python 3.x,又加入了許多新特性,因此,我們可以直接安裝使用Pillow。
Pillow在PIL的基礎上,為Python3增加了更多功能和支援。它支援一系列影象檔案格式,如PNG,JPEG,PPM,GIF,TIFF和BMP。我們將看到如何在影象上執行各種操作,例如裁剪,調整大小,新增文字到影象,旋轉,灰階轉換。
Ps:我喜歡OpenCV的速度與強大的影象處理功能,但是要在OpenCV中使用我們自己喜歡的字型似乎並不容易(預設的字型實在令人退避三舍)。
Pillow的Github主頁:https://github.com/python-pillow/Pillow
Pillow的檔案(對應版本v3.0.0): https://pillow.readthedocs.org/en/latest/handbook/index.html
PIL( Python影象庫 )是Python程式語言的一個免費庫,它支援開啟、操作和儲存許多不同的檔案格式的影象。然而, 隨著2009年的最後一次釋出,它的開發停滯不前。但幸運的是還有有Pillow,一個PIL積極開發的且更容易安裝的分支,它能執行在所有主要的作業系統,並支援Python3。這個庫包含了基本的影象處理功能,包括點運算、使用一組內建折積核的濾波和色彩空間的轉換。
資源
檔案中有安裝說明,以及涵蓋庫的每個模組的範例:
https://pillow.readthedocs.io/en/stable/releasenotes/3.1.1.html
OpenCV( 開源計算機視覺庫 )是計算機視覺應用中應用最廣泛的庫之一 。OpenCV-Python 是OpenCV的python版API。OpenCV-Python的優點不只有高效,這源於它的內部組成是用C/C++編寫的,而且它還容易編寫和部署(因為前端是用Python包裝的)。這使得它成為執行計算密集型計算機視覺程式的一個很好的選擇。
資源
OpenCV-Python-Guide指南可以讓你使用OpenCV-Python更容易:
https://github.com/abidrahmank/OpenCV2-Python-Tutorials
SimpleCV 也是一個用於構建計算機視覺應用程式的開源框架。有了它,你就可以存取幾個高效能的計算機視覺庫,如OpenCV,而且不需要先學習瞭解位深度、檔案格式、顏色空間等。
它的學習曲線大大小於OpenCV,正如它們的口號所說“計算機視覺變得簡單”。一些支援SimpleCV的觀點有:
即使是初學者也可以編寫簡單的機器視覺測試
攝像機、視訊檔、影象和視訊流都是可互操作的
資源
官方檔案非常容易理解,而且有大量的例子和使用案例去學習:
https://simplecv.readthedocs.io/en/latest/
如果安裝了Anaconda,Pillow就已經可用了。否則,需要在命令列下通過pip安裝:
$ pip install pillow
如果遇到Permission denied
安裝失敗,請加上sudo
重試。
來看看最常見的影象縮放操作,只需三四行程式碼:
from PIL import Image # 開啟一個jpg影象檔案,注意是當前路徑: im = Image.open('test.jpg') # 獲得影象尺寸: w, h = im.size print('Original image size: %sx%s' % (w, h)) # 縮放到50%: im.thumbnail((w//2, h//2)) print('Resize image to: %sx%s' % (w//2, h//2)) # 把縮放後的影象用jpeg格式儲存: im.save('thumbnail.jpg', 'jpeg')
其他功能如切片、旋轉、濾鏡、輸出文字、調色盤等一應俱全。
比如,模糊效果也只需幾行程式碼:
from PIL import Image, ImageFilter # 開啟一個jpg影象檔案,注意是當前路徑: im = Image.open('test.jpg') # 應用模糊濾鏡: im2 = im.filter(ImageFilter.BLUR) im2.save('blur.jpg', 'jpeg')
效果如下:
PIL的ImageDraw
提供了一系列繪圖方法,讓我們可以直接繪圖。比如要生成字母驗證碼圖片:
from PIL import Image, ImageDraw, ImageFont, ImageFilter import random # 隨機字母: def rndChar(): return chr(random.randint(65, 90)) # 隨機顏色1: def rndColor(): return (random.randint(64, 255), random.randint(64, 255), random.randint(64, 255)) # 隨機顏色2: def rndColor2(): return (random.randint(32, 127), random.randint(32, 127), random.randint(32, 127)) # 240 x 60: width = 60 * 4 height = 60 image = Image.new('RGB', (width, height), (255, 255, 255)) # 建立Font物件: font = ImageFont.truetype('Arial.ttf', 36) # 建立Draw物件: draw = ImageDraw.Draw(image) # 填充每個畫素: for x in range(width): for y in range(height): draw.point((x, y), fill=rndColor()) # 輸出文字: for t in range(4): draw.text((60 * t + 10, 10), rndChar(), font=font, fill=rndColor2()) # 模糊: image = image.filter(ImageFilter.BLUR) image.save('code.jpg', 'jpeg')
我們用隨機顏色填充背景,再畫上文字,最後對影象進行模糊,得到驗證碼圖片如下:
如果執行的時候報錯:
IOError: cannot open resource
這是因為PIL無法定位到字型檔案的位置,可以根據作業系統提供絕對路徑,比如:
'/Library/Fonts/Arial.ttf'
要詳細瞭解PIL的強大功能,請請參考Pillow官方檔案:
https://pillow.readthedocs.org/
到此這篇關於Python使用Pillow進行影象處理的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45