例如有一幅图,文件名为“’.
读取:
from PIL import Image #或直接import Image
im = Image.open('')
将图片转换成灰度图
:
im1 = im.convert('L')
所以
打开图片并转换成灰度图的方法是:
im = Image.open('a.jpg').convert('L)
转换图像格式:
('')
以上代码把 打开并转换成灰度图(像素值在0-255之间),然后保存成格式。可以把上一行代码中‘'改成路径加文件名,就可以保存到自己想要保存的地方了。
批量转换图像格式:
如果要大量处理图像,例如有文件夹b,里边保存许多图片如一类的,那么如下命令可以获得:
import os
a = os.listdir('b')
列表a中会把图片名无序存储 a = [ ‘’,[..],..],全是字符串。当然以上命令不仅可以用在这里,其它地方也是一样的,获得当前路径b下边所有的内容。
下面将创建一个包含文件夹中所有图像文件名的文件名列表:
import os
def get_path(path):
'''返回目录中所有JPG图像的文件名列表'''
return [(path,f) for f in (path) if f endswith('.jpg')]
要做其它使用,只要在上述代码稍做改动就可以。如去掉后边的if 语句,则返回所有格式的文件名。如调用
pth = get_path('b')
则pth = [‘b/’,[..],..]的内容,这就是的作用。
然后将文件名列表pth中读取所有文件,并换成JPEG格式:
from PIL import Image
import os
for img in pth:
outfile = (img)[0] + '.jpg'
if img != outfile:
try:
(img).save(outfile)
except IOError:
print 'can not convert ',img
原图像不论是什么格式,除了后缀变为’jpg’,上述代码的新文件名和原文件名相同。