1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

python图像处理之图象的批量编辑

Python图像处理之图象的批量编辑实例详细解读

本文主要介绍如何使用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