用python写一段代码,目的是文件批量图像分割,最后输出分割图到文件夹
时间: 2024-02-18 16:04:15 浏览: 68
好的,以下是一段Python代码,可以实现批量图像分割,并将分割后的图像保存到指定文件夹中:
```python
import os
import cv2
# 定义图像分割函数
def image_segmentation(image_path, output_path, segment_size):
# 读取图像
image = cv2.imread(image_path)
# 获取图像宽度和高度
height, width = image.shape[:2]
# 计算分割后的图像数量
num_segments_height = height // segment_size
num_segments_width = width // segment_size
# 分割图像并保存到指定文件夹中
for i in range(num_segments_height):
for j in range(num_segments_width):
# 计算当前分割图像的左上角坐标和右下角坐标
x1 = j * segment_size
y1 = i * segment_size
x2 = x1 + segment_size
y2 = y1 + segment_size
# 分割图像并保存到指定文件夹中
segment = image[y1:y2, x1:x2]
output_filename = os.path.join(output_path, f"{i}_{j}.jpg")
cv2.imwrite(output_filename, segment)
# 定义输入和输出文件夹路径
input_path = "/path/to/input/folder"
output_path = "/path/to/output/folder"
# 定义分割图像的大小
segment_size = 64
# 遍历输入文件夹中的所有图像文件,并进行分割
for filename in os.listdir(input_path):
# 检查文件是否为图像文件
if filename.endswith(".jpg") or filename.endswith(".png"):
# 构造图像文件的完整路径
image_path = os.path.join(input_path, filename)
# 对当前图像进行分割并保存到指定文件夹中
image_segmentation(image_path, output_path, segment_size)
```
在上面的代码中,`image_segmentation`函数可以将指定的图像分割为多个小图像,并保存到指定的输出文件夹中。`input_path`和`output_path`变量分别指定输入和输出文件夹的路径,`segment_size`变量指定分割后的小图像大小。最后,遍历输入文件夹中的所有图像文件,对每个图像进行分割并保存到指定的输出文件夹中。
阅读全文