halcon写一段代码批量将大图分割为多个小图并分别保存
时间: 2025-01-04 20:40:25 浏览: 7
在Halcon库中,你可以使用图像处理功能来实现这个任务。Halcon提供了一套强大的机器视觉工具,包括图像读取、处理和分析。这里是一个简单的Python示例,使用Halcon的`GrabCut`函数和`SaveImage`函数来批量分割和保存图片:
```python
import halcon as hl
def split_and_save_images(input_folder, output_folder):
# 创建Halcon会话
h = hl.Halcon()
# 遍历输入文件夹中的所有图片
for filename in hl.find_files(input_folder, "*.jpg"): # 更改为你需要的文件格式
img = h.open_image(filename)
# 分割图片(例如,这里假设你想按固定大小切割)
width, height = img.get_image_size()
step = 100 # 要分割的小图宽度和高度
for i in range(0, height, step):
for j in range(0, width, step):
sub_img = img.crop_rectangle(j, i, j + step, i + step)
# 获取新的子图像名称
sub_filename = f"{output_folder}/{filename.stem}_{i}_{j}.jpg"
# 保存子图像
h.save_image(sub_filename, sub_img)
# 关闭Halcon会话
h.close()
# 使用函数
split_and_save_images('input_directory', 'output_directory')
```
在这个例子中,我们首先打开每个输入图像,然后按照预设的步长(这里是每100像素)裁剪出小图,并将其保存到指定的输出文件夹。记得替换`input_folder`和`output_folder`为实际的文件路径。
阅读全文