Python图像处理之图象的批量编辑实例详细解读
本文主要介绍如何使用Python进行图像批量处理,包括大批量载入、格式转换和批量保存等操作,希望对需要处理大量图片的小伙伴有所帮助。

照片结合函数公式
在Python中,我们可以使用skimage.io.ImageCollection()函数进行图片的大批量载入和批量编辑。这个函数包含两个主要参数,load_pattern表示图片组的路径,load_func表示调用的批量编辑函数,默认为imread()。
例如,我们可以使用以下代码将一个文件夹中的所有png图片载入到图片集合中:
import skimage.io as io
from skimage import data_dir
str = data_dir + '/*.png'
coll = io.ImageCollection(str)
print(len(coll))
运行结果显示图片集合中有25张图片。如果想要显示其中一张图片,可以使用以下代码:
io.imshow(coll[10])
转换格式为灰度图像
除了大批量载入照片,我们还可以使用Python将照片格式进行批量转换,例如将多个RGB格式的照片转换为灰度图像。具体实现方法是,先定义一个转换函数,然后将这个函数作为load_func参数传入ImageCollection()函数中。
from skimage import data_dir, io, color
def convert_gray(f):
rgb = io.imread(f)
return color.rgb2gray(rgb)
str = data_dir +'/*.png'
coll = io.ImageCollection(str, load_func=convert_gray)
io.imshow(coll[10])
上述代码将读取d:/pic文件夹下的jpg和png格式的照片并载入到图片集合中。如果想要读取其他地方的照片,只需要修改str路径即可。需要注意的是,读取的所有图片尺寸必须一致。
批量保存
最后,我们还可以使用Python对批量编辑后的图片进行保存。以将所有png示例图片转换为256×256大小的jpg灰度图像并保存在d:/data文件夹为例:
from skimage import data_dir, io, transform, color
import numpy as np
def convert_gray(f):
rgb = io.imread(f)
gray = color.rgb2gray(rgb)
dst = transform.resize(gray, (256, 256))
return dst
str = data_dir + '/*.png'
coll = io.ImageCollection(str, load_func=convert_gray)
for i in range(len(coll)):
io.imsave('d:/data/' + np.str(i) + '.jpg', coll[i])
以上就是Python图像批量处理的全部内容,如果需要对大量图片进行操作,Python是一个非常实用的工具。
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6809.html
