📅  最后修改于: 2023-12-03 14:49:44.282000             🧑  作者: Mango
本文介绍如何使用 OpenCV-Python 对多个图像进行大小调整。我们将使用以下步骤:
首先,我们需要导入必要的库和图像。在本例中,我们将使用 OpenCV-Python 来处理图像。
import cv2
import os
# 定义要处理的图像的路径
img_path = './images/'
# 读取所有要处理的图像
image_files = os.listdir(img_path)
# 创建一个空列表来存储所有图像
images = []
# 循环读取所有图像并将其添加到列表中
for image_file in image_files:
image = cv2.imread(os.path.join(img_path, image_file))
images.append(image)
在上面的代码中,我们首先定义了要处理的图像的路径,然后使用 os.listdir()
函数列出该目录中的所有文件。接下来,我们创建一个空列表来存储所有图像,并循环读取所有图像并将其添加到列表中。
接下来,我们将定义一个函数来调整图像的大小。在这个函数中,我们将使用 OpenCV-Python 提供的 cv2.resize()
函数来调整图像的大小。该函数需要三个参数:源图像、目标图像大小和插值方法。
def resize_images(images, size=(500, 500)):
"""
对一组图像进行大小调整
:param images: 图像列表
:param size: 调整后的图像大小
:return: 调整后的图像列表
"""
resized_images = []
for image in images:
resized_image = cv2.resize(image, size)
resized_images.append(resized_image)
return resized_images
在上面的代码中,我们定义了一个名为 resize_images()
的函数,该函数使用 cv2.resize()
函数实现图像的大小调整。该函数使用两个参数:图像列表和调整后的图像大小。我们首先创建一个空列表来存储所有调整后的图像,然后循环遍历输入的图像列表并将每个图像调整为指定的大小。最后,我们将每个调整后的图像添加到 resized_images 列表中。
现在,我们已经定义了一个可以调整图像大小的函数。接下来,我们将调用函数并保存结果。
# 调整图像大小
resized_images = resize_images(images)
# 保存调整后的图像
for idx, image in enumerate(resized_images):
save_path = os.path.join(img_path, f'resized_image_{idx}.jpg')
cv2.imwrite(save_path, image)
在上面的代码中,我们调用了 resize_images()
函数并传递了所有要处理的图像。函数将返回所有调整后的图像,并存储在 resized_images
变量中。接下来,我们循环遍历所有调整后的图像并将其保存到磁盘上。我们使用 cv2.imwrite()
函数来保存图像。该函数需要两个参数:要保存的图像路径和要保存的图像对象。在本例中,我们使用 os.path.join()
函数来将文件名和目录路径合并,然后将图像对象作为第二个参数传递给 cv2.imwrite()
函数。
import cv2
import os
# 定义要处理的图像的路径
img_path = './images/'
# 读取所有要处理的图像
image_files = os.listdir(img_path)
# 创建一个空列表来存储所有图像
images = []
# 循环读取所有图像并将其添加到列表中
for image_file in image_files:
image = cv2.imread(os.path.join(img_path, image_file))
images.append(image)
def resize_images(images, size=(500, 500)):
"""
对一组图像进行大小调整
:param images: 图像列表
:param size: 调整后的图像大小
:return: 调整后的图像列表
"""
resized_images = []
for image in images:
resized_image = cv2.resize(image, size)
resized_images.append(resized_image)
return resized_images
# 调整图像大小
resized_images = resize_images(images)
# 保存调整后的图像
for idx, image in enumerate(resized_images):
save_path = os.path.join(img_path, f'resized_image_{idx}.jpg')
cv2.imwrite(save_path, image)
以上是使用 OpenCV-Python 调整多个图像大小的完整代码。我们介绍了如何使用 cv2.resize()
函数调整图像的大小,并通过定义一个函数来一次性调整所有图像。