批量截取图片的指定区域并保存
时间: 2023-08-05 09:06:40 浏览: 252
为什么使用命令行工具-python用opencv批量截取图像指定区域的方法
要批量截取指定区域并保存图片,您可以使用OpenCV库来完成。以下是一个示例代码,演示了如何从多个图像中截取指定区域并保存。
```python
import cv2
import os
# 定义要截取的区域坐标
x = 100 # 左上角 x 坐标
y = 100 # 左上角 y 坐标
width = 200 # 区域宽度
height = 200 # 区域高度
# 定义输入图像文件夹路径和输出图像文件夹路径
input_folder = 'path/to/input/folder'
output_folder = 'path/to/output/folder'
# 获取输入文件夹中的所有图像文件列表
image_files = [f for f in os.listdir(input_folder) if os.path.isfile(os.path.join(input_folder, f))]
# 遍历每个图像文件
for image_file in image_files:
# 读取图像
image_path = os.path.join(input_folder, image_file)
image = cv2.imread(image_path)
# 截取指定区域
roi = image[y:y+height, x:x+width]
# 构造输出文件路径
output_file = os.path.splitext(image_file)[0] + '_cropped.jpg'
output_path = os.path.join(output_folder, output_file)
# 保存截取后的图像
cv2.imwrite(output_path, roi)
print(f"已保存截取后的图像: {output_file}")
print("批量截取并保存完成")
```
请确保将代码中的 `'path/to/input/folder'` 替换为实际的输入图像文件夹路径,将 `'path/to/output/folder'` 替换为实际的输出图像文件夹路径。代码将遍历输入文件夹中的所有图像文件,读取每个图像并截取指定区域,然后将截取后的图像保存到输出文件夹中。最后,将会打印出已保存的截取后的图像文件名。
阅读全文