国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

深入剖析Python最強大圖片處理模塊--Pillow

開發(fā) 后端
Pillow作為一個圖片模塊。可謂是真的簡便強大,它的前身是PIL,后來將他取代,現(xiàn)在的pillow 可謂是一家獨大,好了,讓我們來看看他的具體用法。

[[392972]]

前言

Pillow作為一個圖片模塊。可謂是真的簡便強大,它的前身是PIL,后來將他取代,現(xiàn)在的pillow 可謂是一家獨大,好了,讓我們來看看他的具體用法。

今天我們介紹pillow 常用六大模塊:

1.Image

2.ImageDraw

3.ImageEnhance

4.ImageFont

5.ImageGrab

6.ImageFilter

一、Image

  1. from PIL import Image 
  2. from io import BytesIO 
  3. #讀取一張圖片 
  4. im=Image.open('2.jpg') #根據(jù)文件名讀取圖像 
  5. b=BytesIO() 
  6. im.save(b,'JPEG'
  7. data=b.getvalue() 
  8. print(data)#獲取圖片的二進制信息 
  9. #圖片格式 
  10. print('格式:',im.format) 
  11. #圖片模式 
  12. print('模式:',im.mode)  #L:灰度  RGB:真彩色 CMYK:出版圖像 
  13. #圖像寬高 
  14. print('寬高:',im.size
  15. print('完整信息:',im.info) 
  16. try: 
  17.     im.verify()#檢查圖像文件的完整性 
  18. except
  19.     pass 
  20. finally: 
  21.     im.show() #顯示一張圖片 
  22.     im.save('4.jpg','JPEG') #保存圖片 

  1. from PIL import Image 
  2. from io import BytesIO 
  3. import requests 
  4. #創(chuàng)建新圖片: 
  5. im1=Image.new('RGBA',(400,400),'red'
  6. #從二進制中讀取圖片 
  7. res=requests.get('http://pic.sc.chinaz.com/files/pic/pic9/202003/zzpic24077.jpg').content 
  8. im2=Image.frombytes('RGB',(100,100),data=res)#只能解析純二進制圖片 
  9. #從網(wǎng)頁中讀取圖片 
  10. im2=Image.open(BytesIO(res)) 
  11. b=BytesIO() 
  12. im2.save(b,format="PNG"
  13. im2.show() 
  14.  
  15. #兩張圖片相加: 
  16. im1=Image.new('RGBA',(400,400),'red'
  17. im2=Image.new('RGBA',(400,400),'blue'
  18. Image.blend(im1,im2,0.5) #兩個圖片大小一定要一樣(效果見圖4) 
  19.  
  20. #點操作: 
  21. im1.point(lambda x:x*1.2) 
  22.  
  23.  
  24. #圖片裁剪: 
  25. box=(100,100,200,200) 
  26. region=im.crop(box)#設(shè)置要裁剪的區(qū)域 
  27.  
  28. #圖片粘貼(合并) 
  29. im1.paste(region,box)#粘貼box大小的region到原先的圖片對象中。(見圖5) 
  30.  
  31.  
  32. im1=Image.new('RGB',(400,400),'red'
  33. im2=Image.new('RGBA',(400,400),'blue'
  34.  
  35. #通道分離: 
  36. r,g,b=im1.split()#分割成三個通道,此時r,g,b分別為三個圖像對象。 
  37. print(r,g,b) 
  38. #通道合并: 
  39. im3=Image.merge("RGB",(b,g,r))#將b,r兩個通道進行翻轉(zhuǎn)。 
  40.  
  41.  
  42. #改變圖片的大小: 
  43. im4=im1.resize((300,200)) 
  44. im4.show() 
  45.  
  46.  
  47. #圖片翻轉(zhuǎn) 
  48. im5=im1.transpose(Image.FLIP_LEFT_RIGHT)  #左右翻轉(zhuǎn) 
  49. im6=im2.transpose(Image.FLIP_TOP_BOTTOM)  #上下翻轉(zhuǎn) 
  50. im5.show() 
  51. im6.show() 
  52.  
  53.  
  54. #獲取某個像素位置的值 
  55. im1.getpixel((43,23)) 
  56.  
  57.  
  58. #寫某個像素位置的值 
  59. im1.putpixel((10,20),(255,32,43)) 
  60.  
  61.  
  62. #創(chuàng)建圖像縮略圖 
  63. im1.thumbnail((10,20))#圖片大小為(10,20) 
  64. im1.show() 
  65.  
  66. #旋轉(zhuǎn)圖像 
  67. im8=im1.rotate(45) #逆時針旋轉(zhuǎn)45度 
  68. im8.show() 
  69. 注:RGB有三個通道,RGBA有四個通道,以上圖片顯示效果都在圖6中 
  70.  
  71.  
  72. #圖片模式轉(zhuǎn)換 
  73. im3.convert('RGBA'
  74. modes       Description 
  75.  1      1位像素,黑白圖像,存成8位像素 
  76.  L      8位像素,黑白 
  77.  P      9位像素,使用調(diào)色板映射到任何其他模式 
  78. RGB     3*8位像素,真彩 
  79. RGBA4*8位像素,真彩+透明通道 
  80. CMYK4*8位像素,印刷四色模式或彩色印刷模式 
  81. YCbCr3*8位像素,色彩視頻格式 
  82.  I      32位整型像素 
  83.  F      33位浮點型像素 

二、ImageDraw

這個模塊主要就是畫圖和打水印時用的,具體方法請看下面:

  1. from PIL import Image,ImageDraw 
  2. #畫點 
  3. im=Image.open('2.jpg'
  4. draw= ImageDraw.Draw(im) 
  5. draw.point([100,200],fill='blue')#指定點的坐標和顏色 
  6.  
  7.  
  8. # 創(chuàng)建一個正方形。[x1,x2,y1,y2]或者[(x1,x2),(y1,y2)]  fill代表的為顏色 
  9. draw.line([100,100,100,600],fill='pink')#直線 
  10. draw.line([100,100,600,100],fill='green'
  11. draw.line([600,100,600,600],'black'
  12. draw.line([100,600,600,600],'blue'
  13.  
  14.  
  15.  
  16. # 弧形 [x1,x2,y1,y2]  弧度 顏色 
  17. draw.arc([100,100,600,600],0,360,fill='black'
  18. draw.arc([200,100,500,600],0,360,fill='yellow'
  19.  
  20.  
  21. # 畫圓  [x1,x2,y1,y2] outline邊框顏色 fill填充顏色 
  22. draw.ellipse([100,100,600,600],outline='black',fill='white'
  23.  
  24.  
  25. # 畫半圓 [x1,x2,y1,y2]  弧度 outline弦線顏色 fill填充顏色 
  26. draw.chord([100,100,600,600],0,360,outline=125) 
  27. draw.chord([100,100,600,600],0,90,outline=158) 
  28. draw.chord([100,100,600,600],90,180,outline=99,fill='gray'
  29.  
  30.  
  31.  
  32. # 扇形 [x1,x2,y1,y2]  弧度 outline弦線顏色 fill填充顏色 
  33. draw.pieslice([100,100,600,600],180,210,outline=255) 
  34. draw.pieslice([100,100,600,600],30,80,fill=255) 
  35.  
  36.  
  37.  
  38. # 多邊形 
  39. draw.polygon([10,23,45,6,77,87],outline='orange'
  40. draw.polygon([10,20,30,40,50,90,70,80,90,100],fill='red'
  41.  
  42.  
  43. # 矩形 
  44. draw.rectangle((200,200,500,500),outline = "white"
  45. draw.rectangle((250,300,450,400),fill = 128) 
  46.  
  47.  
  48. # 文字 
  49. text = 'hello world ' 
  50. # 顏色 
  51. draw.ink = 0 + 0 * 256 + 255 * 256 * 256 
  52. # 加載到圖片上 
  53. draw.text([200,100],text) 
  54. im.show() 

這里每個圖形基本都一覽無余,如果你的圖片像素太小的話,所繪制的圖形是不會完整顯示在上面的。

三、ImageEnhance

主要是設(shè)置圖片的顏色對比度亮度銳度啥的,增強圖像。

  1. from PIL import  ImageEnhance        
  2. im1=Image.open('4.jpg')    
  3. #調(diào)整圖像的顏色平衡 
  4. cl=ImageEnhance.Color(im1) 
  5. ce=cl.enhance(1.2)#對選擇的屬性數(shù)值增強1.3倍 
  6. ce.show() 
  7. #調(diào)整圖像的對比度 
  8. ct=ImageEnhance.Contrast(im1) 
  9. ch=ct.enhance(3.4) 
  10. ch.show() 
  11. #調(diào)整圖像的亮度 
  12. br=ImageEnhance.Brightness(im1) 
  13. be=br.enhance(2.2) 
  14. be.show() 
  15. #調(diào)整圖像的銳度 
  16. sp=ImageEnhance.Sharpness(im1) 
  17. se=sp.enhance(200) 
  18. se.show() 

四、ImageFont

字體模塊,主要是讀取系統(tǒng)內(nèi)字體以及給圖片添加水印效果

  1. from PIL import Image 
  2. from PIL import ImageDraw 
  3. from PIL import ImageFont 
  4. font=ImageFont.truetype(r'C:\Windows\Fonts\simsun.ttc',size=40) 
  5. im=Image.open('4.jpg'
  6. dw=ImageDraw.Draw(im) 
  7. dw.text((50,60),'你好,world',fill='red',font=font) 
  8. im.show() 

五、ImageGrab

  1. from PIL import ImageGrab  
  2. im1=ImageGrab.grab((0,0,800,200)) #截取屏幕指定區(qū)域的圖像  
  3. im2=ImageGrab.grab() #不帶參數(shù)表示全屏幕截圖 
  4. im1.show() 
  5. im2.show() 

六、ImageFilter

過濾圖像的效果。

  1. from PIL import Image, ImageFilter  
  2. im = Image.open('4.jpg')  
  3. # 高斯模糊  
  4. im1=im.filter(ImageFilter.GaussianBlur)  
  5. im1.show() 
  6. # 普通模糊  
  7. im2=im.filter(ImageFilter.BLUR)  
  8. im2.show() 
  9. # 邊緣增強  
  10. im3=im.filter(ImageFilter.EDGE_ENHANCE)  
  11. im3.show() 
  12. # 找到邊緣  
  13. im4=im.filter(ImageFilter.FIND_EDGES)  
  14. im4.show() 
  15. # 浮雕  
  16. im5=im.filter(ImageFilter.EMBOSS)  
  17. im5.show() 
  18. # 輪廓  
  19. im6=im.filter(ImageFilter.CONTOUR)  
  20. im6.show() 
  21. # 銳化  
  22. im7=im.filter(ImageFilter.SHARPEN)  
  23. im7.show() 
  24. # 平滑  
  25. im8=im.filter(ImageFilter.SMOOTH)  
  26. im8.show() 
  27. #闕值平滑 
  28. im9=im.filter(ImageFilter.SMOOTH_MORE)  
  29. im9.show() 
  30. # 細節(jié)  
  31. im10=im.filter(ImageFilter.DETAIL) 
  32. im10.show() 

pillow 還算是比較強大的一個 模塊,他可以輕松實現(xiàn)截屏 水印效果,并且還可以制作字符畫,下面請看:

  1. from PIL import Image 
  2. from PIL import ImageDraw 
  3. from PIL import ImageFont 
  4. txt = 'meimei' 
  5. font = ImageFont.truetype(r'C:\Windows\Fonts\simsun.ttc',9)  #9為字體大小 
  6. im_path = '1.jpg'  #原圖路徑 
  7. im = Image.open(im_path) 
  8. width, height = im.size  
  9. newImg = Image.new("RGBA",(width, height),(10,10,10))  #背景色rgb,偏黑顯示好一些 
  10. x=0 
  11. for i in range(0,height,9):   #需要與字體大小一致 
  12.     for j in range(0,width,9): #需要與字體大小一致 
  13.         a,b,c=im.getpixel((j,i)) #獲取像素 
  14.         draw = ImageDraw.Draw(newImg) 
  15.         draw.text( (j,i), (txt[x%(len(txt)):x%(len(txt))+3]), fill=(a,b,c),font=font) 
  16.         x+=3 
  17.         del draw 
  18. newImg.save('00.png','PNG'

七、總結(jié)

通過對Pillow的學(xué)習(xí),相信你現(xiàn)在已經(jīng)能玩轉(zhuǎn)圖片的各種騷操作了,配合詞云的話就能生成更具特色的圖片了。

 

責(zé)任編輯:姜華 來源: Python爬蟲與數(shù)據(jù)挖掘
相關(guān)推薦

2010-09-17 12:39:51

JAVA反射機制

2010-03-09 19:19:40

Python圖像處理

2010-03-19 09:34:42

Cisco 2600模

2009-09-03 17:42:07

C#開發(fā)CF藍牙模塊

2022-03-28 08:36:15

tenacityPython

2024-06-06 09:23:11

2010-06-03 13:08:51

2009-07-06 10:44:45

JSP charset

2009-09-27 17:13:36

Hibernate V

2011-06-03 13:48:18

JavaScript重構(gòu)

2010-05-25 12:59:00

Subversion

2009-09-14 15:12:40

LINQ to XML

2022-07-06 20:40:27

舒爾特方格鴻蒙

2020-08-19 12:52:27

AB測試工具

2010-03-01 16:48:02

Python模塊

2021-10-29 10:38:20

代碼 PILPython

2010-03-05 09:19:54

Android系統(tǒng)

2020-11-06 13:42:59

itertools

2020-11-11 08:24:06

collection

2010-05-27 12:58:07

SVN升級
點贊
收藏

51CTO技術(shù)棧公眾號

伊人影院久久| 亚洲激情男女视频| 51精品在线观看| 暖暖视频在线免费观看| 奇米亚洲午夜久久精品| 日韩av大片免费看| 精品裸体bbb| 欧美日韩一区二区在线观看| 精品少妇无遮挡毛片| 可以免费看不卡的av网站| 欧美在线免费视频| a屁视频一区二区三区四区| 欧美日韩亚洲91| 国产精品天天av精麻传媒| 美女久久久精品| 99国产精品久久久久老师| 精品入口麻豆88视频| 精品国产乱码久久久久久久| 精品久久av| 亚洲免费在线电影| 日韩一级片免费视频| 性感少妇一区| 亚洲最大福利网站| 国产成人三级| 欧美日韩国产成人高清视频| 依依综合在线| 欧美一激情一区二区三区| 新欧美整片sss第一页| 亚洲欧洲精品一区二区精品久久久 | 岛国视频一区| 国产91精品对白在线播放| 九九久久综合网站| 午夜无码国产理论在线| 日韩色视频在线观看| 在线观看av黄网站永久| 欧美网站在线观看| 日韩欧美电影在线观看| 精品久久久久久久久久久| 亚洲美女在线免费观看| 一区二区久久久| 国产一级特黄a大片免费| 久久久久久免费毛片精品| 2018日日夜夜| 菠萝蜜视频在线观看一区| www婷婷av久久久影片| 免费精品99久久国产综合精品| 国产女人水真多18毛片18精品| 激情久久久久久久| 欧美亚洲免费高清在线观看| 久久一综合视频| 亚洲激情电影在线| 国产一区二区日韩精品| 久久这里只有精品18| 91在线视频播放| 97cao在线| 亚洲综合色成人| 免费在线观看污视频| 欧美日韩精品一区二区三区蜜桃| www.在线视频| 日韩精品在线观看一区| 日韩另类视频| 91精品国产乱码久久久久久蜜臀| 国内精品久久久久久久久电影网 | 久久最新免费视频| 国产乱一区二区| 欧美国产日韩激情| 中文子幕无线码一区tr| 中文字幕在线影视资源| 欧美日韩国产一二三| 春色校园综合激情亚洲| 久久久精品视频成人| 国产探花一区| 欧美高清视频一区| 成人性生交大片| 国产黄色av免费看| 欧美日韩亚洲综合一区| 深夜视频一区二区| 国产91免费看片| 亚洲黄页一区| 亚洲一区二区三区av无码| 亚洲色图在线视频| 4438x成人网全国最大| 日日摸夜夜添一区| 国产精品国产一区| 韩国黄色一级大片| 亚洲国产精品人人做人人爽| 毛片网站在线看| 久久久久久午夜| 99精品国产在热久久婷婷| 国产青青在线视频| 欧美天天综合色影久久精品| 亚洲国产福利| 成人av电影天堂| 懂色av一区二区三区免费观看| 日韩黄色视屏| 日韩精品在线视频| 91麻豆精品国产91久久久平台| 亚洲精品一区二区三| 国产精品久久久久毛片软件| 国产精品一卡二卡三卡 | 丝袜亚洲欧美日韩综合| 色999日韩国产欧美一区二区| 久久精品成人一区二区三区| 视频一区中文| 亚洲综合激情五月| 午夜久久久久久| 伊人久久大香| 久久久水蜜桃| 亚洲精品videosex极品| 欧美日韩免费观看视频| 国产精品免费一区二区| 国产精品久久久久久久裸模| 蜜桃视频在线观看播放| 91久久精品美女高潮| 久久综合一区二区| 女人黄色免费在线观看| 国产日韩精品视频| 国产精品色哟哟网站| 成人香蕉视频| 久久99精品久久久久久久久久| 国产精品久久看| 精品3atv在线视频| 久久久久se| 午夜精品福利视频网站| 国产aa精品| 亚洲av综合色区| 91精品欧美一区二区三区综合在 | 极品少妇一区二区三区精品视频| 在线观看视频色潮| 精品国产一区二区三区在线观看 | 午夜精品99久久免费| 国产麻豆一精品一av一免费| 国产三级电影在线| 欧美综合第一页| 久久久久久久久97黄色工厂| 日韩欧美精品一区二区三区| 好吊色欧美一区二区三区 | 国产免费毛卡片| 91精品国产乱码| 欧美日本中文| 亚洲52av| 国产日本欧美一区二区三区在线| 亚洲欧洲99久久| japanese色系久久精品| 国内外成人激情视频| 深夜福利国产精品| 精品一区二区三区不卡| xvideos国产在线视频| 国新精品乱码一区二区三区18| 欧美日韩一区免费| 国产精品不卡| 欧美3p视频在线观看| 国产一区二区色| 无码av免费一区二区三区试看| 久久超碰99| 欧美精品一区二区三区涩爱蜜| 国产ts一区二区| 亚洲二区在线观看| 久久国产综合| 少妇性bbb搡bbb爽爽爽欧美| 91免费精品国偷自产在线| 欧美日韩国产精品| 亚洲精品极品少妇16p| 校园春色综合| 高清av免费一区中文字幕| 欧美猛男男办公室激情| 夜夜嗨一区二区| 欧美6一10sex性hd| 成人在线观看www| 在线观看不卡av| 91亚洲永久精品| 国产精品毛片av| 高清国语自产在线观看| 国产aaa精品| 激情成人中文字幕| 激情欧美日韩| av香蕉成人| 日本精品久久久久久久久久| 欧美黑人巨大xxx极品| 尤物视频一区二区| 欧美日韩少妇| а√在线中文网新版地址在线| 大西瓜av在线| **欧美日韩vr在线| 狠狠色狠狠色综合日日五| 亚洲青涩在线| 国产日韩电影| 99色在线视频| 91在线直播亚洲| 精品乱码亚洲一区二区不卡| 不卡视频一二三| 神马电影久久| 91精品久久久| 国产肥臀一区二区福利视频| 国产成一区二区| 日韩一级二级三级精品视频| 久久综合久久综合亚洲| 99久久99热这里只有精品 | 91嫩草在线视频| 亚洲国产欧美一区|