Python Image模塊基本圖像處理操作小結(jié)
本文實(shí)例講述了Python Image模塊基本圖像處理操作。分享給大家供大家參考,具體如下:
Python 里面最常用的圖像操作庫(kù)是Image library(PIL),功能上,雖然還不能跟Matlab比較,但是還是比較強(qiáng)大的,廢話補(bǔ)多少,寫點(diǎn)記錄筆記。
1. 首先需要導(dǎo)入需要的圖像庫(kù):
import Image
2. 讀取一張圖片:
im=Image.open('/home/Picture/test.jpg')
3. 顯示一張圖片:
im.show()
4. 保存圖片:
im.save("save.gif","GIF") #保存圖像為gif格式
5. 創(chuàng)建新圖片:
Image.new(mode,size) Image.new(mode,size,color)
栗子:
newImg = Image.new("RGBA",(640,480),(0,255,0))
newImg.save("newImg.png","PNG")
6.兩張圖片相加:
Image.blend(img1,img2,alpha) # 這里alpha表示img1和img2的比例參數(shù)
7. 點(diǎn)操作:
im.point(function) #,這個(gè)function接受一個(gè)參數(shù),且對(duì)圖片中的每一個(gè)點(diǎn)執(zhí)行這個(gè)函數(shù)
比如:
out=im.point(lambdai:i*1.5)#對(duì)每個(gè)點(diǎn)進(jìn)行50%的加強(qiáng)
8. 查看圖像信息:
im.format, im.size, im.mode
9. 圖片裁剪:
box=(100,100,500,500) #設(shè)置要裁剪的區(qū)域 region=im.crop(box) #此時(shí),region是一個(gè)新的圖像對(duì)象。
10. 圖像黏貼(合并)
im.paste(region,box)#粘貼box大小的region到原先的圖片對(duì)象中。
11. 通道分離:
r,g,b=im.split()#分割成三個(gè)通道,此時(shí)r,g,b分別為三個(gè)圖像對(duì)象。
12. 通道合并:
im=Image.merge("RGB",(b,g,r))#將b,r兩個(gè)通道進(jìn)行翻轉(zhuǎn)。
13. 改變圖像的大小:
out=img.resize((128,128))#resize成128*128像素大小
14. 旋轉(zhuǎn)圖像:
out=img.rotate(45) #逆時(shí)針旋轉(zhuǎn)45度
有更方便的:
region = region.transpose(Image.ROTATE_180)
15. 圖像轉(zhuǎn)換:
out = im.transpose(Image.FLIP_LEFT_RIGHT) #左右對(duì)換。 out = im.transpose(Image.FLIP_TOP_BOTTOM) #上下對(duì)換
16. 圖像類型轉(zhuǎn)換:
im=im.convert("RGBA")
17. 獲取某個(gè)像素位置的值:
im.getpixel((4,4))
18. 寫某個(gè)像素位置的值:
img.putpixel((4,4),(255,0,0))
更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Python圖片操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
python對(duì)視頻畫(huà)框標(biāo)記后保存的方法
今天小編就為大家分享一篇python對(duì)視頻畫(huà)框標(biāo)記后保存的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12
jupyter notebook出現(xiàn)In[*]的問(wèn)題及解決
這篇文章主要介紹了jupyter notebook出現(xiàn)In[*]的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09
python3?字符串str和bytes相互轉(zhuǎn)換
這篇文章主要介紹了python3?字符串str和bytes相互轉(zhuǎn)換,在文件傳輸過(guò)程中,通常使用bytes格式的數(shù)據(jù)流,而代碼中通常用str類型,因此str和bytes的相互轉(zhuǎn)換就尤為重要,下文詳細(xì)介紹需要的小伙伴可以參考一下2022-03-03
pytorch實(shí)現(xiàn)對(duì)輸入超過(guò)三通道的數(shù)據(jù)進(jìn)行訓(xùn)練
今天小編就為大家分享一篇pytorch實(shí)現(xiàn)對(duì)輸入超過(guò)三通道的數(shù)據(jù)進(jìn)行訓(xùn)練,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01
Python3 Tkinkter + SQLite實(shí)現(xiàn)登錄和注冊(cè)界面
這篇文章主要為大家詳細(xì)介紹了Python3 Tkinkter + SQLite實(shí)現(xiàn)登錄和注冊(cè)界面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11
Python Matplotlib繪制條形圖的全過(guò)程
Python畫(huà)圖主要用到matplotlib這個(gè)庫(kù),具體來(lái)說(shuō)是pylab和pyplot這兩個(gè)子庫(kù),這兩個(gè)庫(kù)可以滿足基本的畫(huà)圖需求,下面這篇文章主要給大家介紹了關(guān)于Python Matplotlib繪制條形圖的相關(guān)資料,需要的朋友可以參考下2021-10-10
Python使用FastParquet庫(kù)處理Parquet文件的方法
在大數(shù)據(jù)時(shí)代,數(shù)據(jù)存儲(chǔ)和處理的效率至關(guān)重要,Parquet作為一種列式存儲(chǔ)格式,因其高效的壓縮和編碼方案,成為大數(shù)據(jù)處理中的熱門選擇,本文將深入探討FastParquet庫(kù)的使用,幫助讀者掌握如何利用這一工具高效處理Parquet文件,需要的朋友可以參考下2025-02-02
Python?web框架實(shí)現(xiàn)增加BasicAuth認(rèn)證詳解
這篇文章主要為大家詳細(xì)介紹了Python如何在web框架中實(shí)現(xiàn)增加BasicAuth認(rèn)證,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起了解一下2023-05-05

