溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

詳解Python圖像處理庫Pillow常用使用方法

發布時間:2020-08-26 00:05:49 來源:腳本之家 閱讀:234 作者:gdjlc 欄目:開發技術

 PIL(Python Image Library)是python的第三方圖像處理庫,但是由于其強大的功能與眾多的使用人數,幾乎已經被認為是python官方圖像處理庫了。

其官方主頁為:PIL。 PIL歷史悠久,原來是只支持python2.x的版本的,后來出現了移植到python3的庫pillow,pillow號稱是friendly fork for PIL,其功能和PIL差不多,但是支持python3。

PIL(Python Imaging Library)是Python一個強大方便的圖像處理庫,只支持到Python2.7。

Pillow是PIL的一個派生分支,在Python3標準庫中用Pillow代替PIL。

Pillow官網:https://pillow.readthedocs.io/en/latest/handbook/index.html

下面是使用例子,用法可見代碼注釋。

from PIL import Image,ImageFilter,ImageGrab,ImageDraw,ImageFont
# 創建圖片:寬800*高600,紅色
imNew = Image.new('RGB',(800,600),(255,0,0))
# 顯示圖片
#imNew.show()
# 抓取屏幕
imGrab = ImageGrab.grab()
imGrab.save('grab.jpg', 'jpeg')
# 打開圖片
im = Image.open('1.jpg')
# 復制圖片
im1 = im.copy()
im2 = im.copy()
im3 = im.copy()
im4 = im.copy()
im5 = im.copy()
im6 = im.copy()
im7 = im.copy()
# 獲得圖片寬高:
w, h = im.size
print('圖片寬高:{} * {}'.format(w, h))
# 縮略圖(圖片不會被拉伸,只能縮?。?im.thumbnail((w//2, h//2))
im.save('1_thumbnail.jpg', 'jpeg')
# 縮放(圖片可能會被拉伸,可縮小也可放大)
im1 = im1.resize((w//2, h//2))
im1.save('1_resize.jpg', 'jpeg')
# 模糊圖片
im2 = im2.filter(ImageFilter.BLUR)
im2.save('1_blur.jpg', 'jpeg')
# 旋轉圖片,逆時鐘旋轉45度
im3 = im3.rotate(45)
im3.save('1_rotate.jpg', 'jpeg')
# 圖片轉換:左右轉換 FLIP_LEFT_RIGHT,上下轉換 FLIP_TOP_BOTTOM
im4 = im4.transpose(Image.FLIP_LEFT_RIGHT)
im4.save('1_transpose.jpg', 'jpeg')
# 圖片裁剪
box = (200,200,400,400) #左上角(0,0),4元組表示坐標位置:左、上、右、下
im5 = im5.crop(box)
im5.save('1_crop.jpg', 'jpeg')
# 圖片上添加文字
draw = ImageDraw.Draw(im6)
#truetype設置字體、文字大小
#stxingka.ttf華文行楷 simkai.ttf 楷體 simli.ttf 隸書
font = ImageFont.truetype("C:\\WINDOWS\\Fonts\\stxingka.ttf", 20) 
draw.text((100,100), ('hello word \n你好,世界'), fill='#0000ff', font=font)
im6.save('1_drawText.jpg', 'jpeg')
# 圖片上添加圖片(粘貼圖片)
imTmp = Image.new('RGB',(30,30),'blue')
im7.paste(imTmp, (50,50)) #第2個參數為坐標
im7.save('1_paste.jpg','jpeg')
# 圖片橫向拼接:拼接上面im6、im7(兩張圖片大小一樣)
im6Width, im6Height = im6.size
imHorizontal = Image.new('RGB', (im6Width * 2, im6Height))
imHorizontal.paste(im6, (0,0))
imHorizontal.paste(im7, (im6Width,0))
imHorizontal.save('1_horizontal.jpg', 'jpeg')
# 圖片豎向拼接:拼接上面im6、im7
imVertical = Image.new('RGB', (im6Width, im6Height*2))
imVertical.paste(im6, (0,0))
imVertical.paste(im7, (0,im6Height))
imVertical.save('1_vertical.jpg', 'jpeg')

總結

以上所述是小編給大家介紹的Python圖像處理庫Pillow常用使用方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女