第1.5題:使用Image處理圖片

題目來自:Python 練習(xí)冊。題目1.5:你有一個目錄,裝了很多照片,把它們的尺寸變成都不大于 iPhone5 分辨率的大小。查看更多于本人博客:iii.run


使用python來處理圖片是非常方便的,下面提供一小段python處理圖片的代碼,需要安裝圖像處理工具包PIL(Python Image Library)。

安裝PIL

我用的是anaconda(一個開源的Python發(fā)行版本,包含了常用的數(shù)據(jù)科學(xué)庫。),其中自帶了PIL和Pillow,但是不能用,真是(? _ ?) 。
檢查自己電腦是否支持PIL,可以在Python shell 頁面輸入:

from PIL import Image  

Image

如果沒有報(bào)錯的話,就可以代表正常。如果報(bào)錯說[importError: No module named images],使用pip卸載pillow,重新安裝應(yīng)該就可以了.


參考代碼

稍微注意一下,圖片的寬高是兩個數(shù)字,不能理所當(dāng)然的認(rèn)為圖片都是寬大于高的。

import os  
from PIL import Image  
pathDir='F:\CloudMusic'  
os.chdir(pathDir)  

def get_imglist(): #獲取照片名稱list  
    img_list=[]  
    list_dir=os.listdir(pathDir)  
    for x in list_dir:  
        if '.jpg' in x:  
            img_list.append(x)  
        else:  
            print("This is not a picture: "+x)  
    return img_list  

def modify_imgsize():  
    for filename in get_imglist():      
        img=Image.open(filename)  
        if max(img.size)>1136:  
            value=max(img.size)/1136.0  
            newsize =(int(img.size[0]/value),int(img.size[1]/value)) 
            newimg = img.resize(newsize,Image.ANTIALIAS) #修改大小                 
            newimg.save('new_'+filename)  
        else:  
            print("This picture is availabe:"+filename)  

if __name__ == '__main__':
    modify_imgsize()  
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容