通过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()函数是一个方便快捷的图像处理函数,可以用于调整图像的大小和质量。通过以上示例代码,可以批量处理多个图像的大小和质量,将调整后的图像保存到输出目录中,实现图像的批处理。
