【Python開發】python PIL讀取圖像轉換為灰度圖及另存為其它格式(也可批量改格式)


例如有一幅圖,文件名為“a.jpg’. 
讀取:

from PIL import Image #或直接import Image
im = Image.open('a.jpg')

將圖片轉換成灰度圖

:im1 = im.convert('L') 

所以

打開圖片並轉換成灰度圖的方法是:

im = Image.open('a.jpg').convert('L)

轉換圖像格式:

im.save('aa.gif')

以上代碼把a.jpg 打開並轉換成灰度圖(像素值在0-255之間),然后保存成aa.gif格式。可以把上一行代碼中‘aa.gif'改成路徑加文件名,就可以保存到自己想要保存的地方了。

批量轉換圖像格式

列表a中會把圖片名無序存儲 a = [ ‘aa.gif’,[..],..],全是字符串。當然以上命令不僅可以用在這里,其它地方也是一樣的,獲得當前路徑b下邊所有的內容。 

下面將創建一個包含文件夾中所有圖像文件名的文件名列表:

import os
def get_path(path):
    '''返回目錄中所有JPG圖像的文件名列表'''
    return [os.path.join(path,f) for f in os.listdir(path) if f endswith('.jpg')]

做其它使用,只要在上述代碼稍做改動就可以。如去掉后邊的if 語句,則返回所有格式的文件名。如調用

pth = [‘b/aa.gif’,[..],..]的內容,這就是path.join的作用。 

然后將文件名列表pth中讀取所有文件,並換成JPEG格式:

from PIL import Image
import os
for img in pth:
    outfile = os.path.splitext(img)[0] + '.jpg'
    if img != outfile:
        try:
            Image.open(img).save(outfile)
        except IOError:
            print 'can not convert ',img

圖像不論是什么格式,除了后綴變為’jpg’,上述代碼的新文件名和原文件名相同。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM