欢迎访问宙启技术站
智能推送

通过imutilsresize()函数批量调整多个图像的大小和质量

发布时间:2024-01-03 03:41:43

imutils是一个开源的Python图像处理库,它提供了一系列用于处理图像和视频的简单实用的函数。其中imutils.resize()函数可以用于调整图像的大小和质量。

imutils.resize()函数的语法如下:

imutils.resize(image, width=None, height=None, inter=cv2.INTER_AREA)

参数说明:

- image:图像矩阵。

- width:调整后的图像宽度,可以为整数或浮点数。

- height:调整后的图像高度,可以为整数或浮点数。

- inter:插值方法,用于调整图像大小。默认为cv2.INTER_AREA,即使用区域插值。

以下是一个使用imutils.resize()函数批量调整多个图像大小和质量的示例代码:

import os
import cv2
import imutils

# 待处理的图像目录
image_dir = 'images/'

# 调整后的图像目录
output_dir = 'output/'

# 获取图像目录下所有的图像文件名
image_files = os.listdir(image_dir)

for image_file in image_files:
    # 读取图像
    image_path = os.path.join(image_dir, image_file)
    image = cv2.imread(image_path)
    
    # 调整图像大小和质量
    resized_image = imutils.resize(image, width=800)
    
    # 保存调整后的图像
    output_file = os.path.join(output_dir, image_file)
    cv2.imwrite(output_file, resized_image)

print('处理完成!')

以上代码是一个简单的图像批处理示例,假设有一个名为images的图像目录,其中包含多个图像文件。代码首先将输入图像目录和输出图像目录指定为image_dir和output_dir。接下来,使用os.listdir()函数获取图像目录下所有的图像文件名。然后,遍历每个图像文件,读取图像并调用imutils.resize()函数调整图像大小和质量。最后,将调整后的图像保存到指定的输出目录中,并在处理完成后输出提示信息。

需要注意的是,代码中调用imutils.resize()函数时指定了调整后的宽度为800像素,可以根据需要修改。示例代码使用了默认的区域插值方法cv2.INTER_AREA,如果需要使用其他插值方法,可以根据具体需求进行修改。

总结:imutils.resize()函数是一个方便快捷的图像处理函数,可以用于调整图像的大小和质量。通过以上示例代码,可以批量处理多个图像的大小和质量,将调整后的图像保存到输出目录中,实现图像的批处理。