加载单张图像
代码
* 加载单张图片
read_image (Image, 'F:/素材收集/图片素材/Videoshot_20241115_004416.jpg')
get_image_size (Image, Width, Height)
dev_open_window_fit_size (0, 0, Width, Width, -1, -1, WindowHandle)
dev_display (Image)
加载多张图像
代码:
* 加载多张图片
dev_update_off ()
dev_close_window ()
* 在这里第二个参数就是元组了 可以存放多张图片的地址
read_image (Image, ['F:/素材收集/图片素材/01.jpg','F:/素材收集/图片素材/02.jpg'])
* 当一个变量保存多个图像或者区域的时候,类型属于‘对象’ 不能通过索引值的方式来获取某张图片
select_obj (Image, ObjectSelected, 1)
select_obj (Image, ObjectSelected1, 2)
*select_obj 选择组中对象
* 参数1:图像对象
* 参数2:输出的图像变量
* 参数3:索引 从1开始
文件方式读取
方法一: list_image_files
- 参数1: 图像文件夹的路径
- 参数2:指定要筛选的文件扩展名 默认是default 读取所有格式的文件
- 参数3:Options(输入参数)
- 'recursive': 递归搜索子目录
- 'follow_links': 跟随符号连接
- 'max_depth=3': 设置递归深度(需与'recursive'配合使用)
- 'sort': 按文件名排序(默认不排序)
- 参数4:匹配到的图像路径的元组
tuple_regexp_select(ImageFiles,'.*',Selection) 元组过滤器
- 参数1:原始元组
- 参数2:正则表达式 默认:不过滤
- 参数3:符合正则表达式的原始
代码
list_image_files ('F:/素材收集/图片素材', 'default', [], ImageFiles)
tuple_regexp_select (ImageFiles, '.(png|jpg)', Selection)
for i:=0 to |Selection|-1 by 1
dev_disp_text ('张数'+i, 'window', 'top', 'left', 'black', [], [])
read_image (Image, Selection[i])
endfor
方法二: list_files('','files',Files)
代码
list_files ('F:/素材收集/图片素材', 'files', Files)
tuple_regexp_select (Files, '.*', Selection)
for i:=0 to |Selection|-1 by 1
read_image (Image, Selection[i])
endfor
保存
read_image (Image, 'printer_chip/printer_chip_01')
write_image (ImageScaleMax, 'png', 0, 'F:/Halcon/HomeWork')
read_image (Image, 'printer_chip/printer_chip_01')
get_image_size (Image, Width, Height)
dev_open_window_fit_size (0, 0, Width, Width, -1, -1, WindowHandle)
dev_display (Image)
dump_window (WindowHandle, 'bmp', 'F:/Halcon/11')
*参数1:需要截图窗体
*参数2:截取的图像的格式
*参数3:截图保存的路径
区别:write_image 操作的是图像 dump_window 操作的是窗体