python實現圖像處理:pil依賴庫的應用
本文包含的練習題主要是pil依賴庫,即pillow相關的應用。
練習一:使用python給圖片增加數字
實現思路:
- 使用pil的image.open導入圖片。
- 獲取圖片的大小。
- 調用imagedraw,在圖片的指定位置寫上數字。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#coding=utf-8 #auther by alice #在圖片的右上角增加一個數字 from pil import image,imagefont,imagedraw image = image. open ( '/users/alice/documents/photo/img_8379.jpg' ) #打開原圖 wight, hight = image.size text = "015" color = ( 255 , 255 , 0 ) fontsize = wight / / 10 font = imagefont.truetype( 'apple symbols' ,fontsize) #設定增加的數字的參數,數字內容、數字顏色和數字字號 draw = imagedraw.draw(image) draw.text((fontsize * 6 , 0 ), text, color, font) image.save( '/users/alice/documents/photo/img_7997.jpg' , 'jpeg' ) #保存添加了數字之后的圖片 |
實現前:
實現后:
修改其中兩行代碼字體和顏色如下后,
1
2
|
color = ( 105 , 200 , 45 ) font = imagefont.truetype( 'palatino.ttc' ,fontsize) |
則運行的結果為:
練習二:使用python將一個圖片放大縮小
實現思路:
- 使用pil,即python圖像標準依賴庫。
- 使用open打開本地圖片。
- 使用image.thumbnail放大縮小圖片
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#coding by alice #coding=utf-8 from pil import image im = image. open ( '/users/alice/documents/develop/pythoncode/test.jpg' ) # 打開一個路徑下的指定jpg圖像文件 w,h = im.size # 獲得圖像尺寸 im.thumbnail((w / / 10 , h / / 10 )) # 縮放到10% im.save( '/users/alice/documents/develop/pythoncode/test2.jpg' , 'jpeg' ) # 把縮放后的圖像用jpeg格式保存: |
等同于代碼:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#coding by alice #coding=utf-8 from pil import image image = image. open ( '/users/alice/documents/develop/pythoncode/test.jpg' ) # 打開一個路徑下的指定jpg圖像文件 wight,hight = image.size # 獲得圖像尺寸 image.thumbnail((weight / / 10 , high / / 10 )) # 縮放到10% image.save( '/users/alice/documents/develop/pythoncode/test2.jpg' , 'jpeg' ) # 把縮放后的圖像用jpg格式保存: |
運行后的效果為:
練習三:使用python將一個圖片實現模糊
實現思路:
- 使用pil,即python圖像標準依賴庫。
- 使用open打開本地圖片。
- 使用image.thumbnail放大縮小圖片
1
2
3
4
5
6
7
8
9
10
11
12
|
#coding by alice #coding=utf-8 from pil import image from pil import imagefilter image = image. open ( '/users/alice/documents/develop/pythoncode/test.jpg' ) # 打開一個路徑下的jpg圖像文件 image = image. filter (imagefilter.blur) # 應用模糊濾鏡 image.save( '/users/alice/documents/develop/pythoncode/test3.jpg' , 'jpeg' ) #保存圖片 |
運行后的結果為
如果是靜物或者人臉,放大后看則模糊效果會更明顯。
練習四:使用python獲取一個圖片的元素坐標
實現思路:
- 使用pil,即python圖像標準依賴庫。
- 使用open打開本地圖片。
- 使用imshow顯示圖像
- 獲取圖片上點擊光標,輸出坐標
1
2
3
4
5
6
7
8
9
10
11
12
|
#coding by alice #coding=utf-8 from pil import image import matplotlib.pyplot as plt image = image. open ( '/users/alice/documents/develop/pythoncode/test.jpg' ) #打開所在位置及圖像的名稱 plt.figure( 'image' ) #圖像窗口名稱 plt.imshow(image) plt.show() |
到此這篇關于python實現圖像處理之pil依賴庫的案例應用詳解的文章就介紹到這了,更多相關python實現圖像處理之pil依賴庫內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://blog.csdn.net/alice_tl/article/details/80866728