halcon进化日记-0725图像输入的方式
题目:0725图像输入的方式
作者:李黛色@千锤万凿出深山
功能:0725图像输入的方式
参考:
1-素材:
Halcon自带图片素材保存的位置(并非安装目录)
Documents\MVTec\HALCON-18.11-Progress\examples\images\
- 多张图片
- 视频
- 相机+镜头+光源
环境:halcon 24.11.1.0+win10
2-思路:
非实时
- 单张输入 read_image
- 多张输入 read_image+循环
- 视频输入 Halcon采集助手可转化代码
实时
- 📷相机halcon输入
- 📷相机SDK输入
或者
- 多相机输入
- 多相机异步输入
- 多相机同步输入
3-实操
非实时
- 单张输入 read_image
为什么会选择read_image这个算子呢?
思索了下,源于前辈的经验,前辈的经验怎么获取,视频、图书、源码,官方文档,此为知识输入的来源。
read_image算子,这是我敲下的第一个算子,希望以后敲下的算子都有如此心情。
算子-file-image-image-read_image
找到之后会自动插入文中如下,非实时代码-单张
点击运行或者f5会有图像显示,表明文件已经输入(或者文件已经采集进入系统)
🦔此为打通两个系统的关键
文件位于:
MVTec\docDATA\HALCON-24.11-Progress-Steady\examples\images\printer_chip

非实时代码-单张
* read_image — Read an image with different file formats.
* read_image( : Image : FileName : )
* 官方自带实例 读取单张文件
read_image (Image, 'printer_chip/printer_chip_01')
- 多张输入 read_image+循环
非实时代码-多张
* 官方自带实例 读取三张文件用循环不?
* 还是copy 三次逻辑是一样这样不成立
read_image (Image1, 'printer_chip/printer_chip_01')
read_image (Image2, 'printer_chip/printer_chip_02')
read_image (Image3, 'printer_chip/printer_chip_03')
*三个相同元素为什么不写一个array?
* Reading 3 images into an image array(图像数组 image array)
* 读取软件自身携带的库图像文件,但是只显示第一个ic0,ic0为什么没加路径呢?这三张图在哪里
* 在这里 HALCON-24.11-Progress-Steady\examples\images
read_image(Images,['ic0','ic1','ic2'])
方法2:文件命名统一:格式设定:‘name_number.imageform'
多张,方法2,copy-
for j:= 1 to 9 by 1
read_image(Image,'fonts/arial_a'+J+'.png')//读取图像
dev_display(Image)//显示图像
stop()//暂停
endfor
方法3:tuple_enviroment
多张,方法3,copy
D:\MVTec\docDATA\HALCON-24.11-Progress-Steady\examples\images
tuple_environment('HALCONROOT',RootDir)//文件目录
DirName:=RootDir+'\images'
*打开文件设备
open_framegraber('File',-1,-1,-1,-1,'default',-,'default',-1,'default',DirName,'default',-1,-1,AcqHandle)
while(1)
get_framegrabber_param(AcqHandle,'device',CurrentFileName)//设置图像设备对应的文件目录
grab_image(Image,AcqHandle)//读取文件
endwhile
close_framegrable(AcqHandle)//关闭设备
算子注释:tuple_enviroment
读取一个或多个环境变量
第一个参数:输入字符元组
第二个参数:输出对应的空值元组
3没成功
自己写了方法4
tuple_regexp_select- 选择与正则表达式匹配的元组元素。
推荐方法4:用了正则表达式
list_files ('D:/MVTec/docDATA/HALCON-24.11-Progress-Steady/examples/images', ['files','follow_links'], Files)
* tuple_regexp_select (Files, '.*', Files)
* query_available_image_formats() check本halcon支持的图片格式
tuple_regexp_select (Files, ['\\.(tif|bmp|jpg|jpeg|png|gif)$','ignore_case'], Files)
for index := 0 to | Files| -1 by 1
read_image(image,Files[index])
dev_display(image)
endfor
- 视频输入 Halcon采集助手可转化代码
4-文件路径地址:
分析可以不看直接看截图,直接复制的地址不可用(红色),需要换方向或者转义
关闭系统默认的系统映像文件目录,设置为自己常用的文件目录(也可以不设)
所需算子:
set_system函数
地址格式需要理解
直接复制的文件格式
D:\MVTec\docDATA\HALCON-24.11-Progress-Steady\examples\images
到read_image(image,'')冒号里面
会提示

点击是之后
read_image (Image,'D:/MVTec/docDATA/HALCON-24.11-Progress-Steady/examples/images')
绝对地址的方式来读取指定的目录文件:
D:/MVTec/docDATA/HALCON-24.11-Progress-Steady/examples/images

总结:写不完了,上卷结束
本文来自博客园,作者:黛色星霜,转载请注明原文链接:https://www.cnblogs.com/ijiangnan/articles/19004025

浙公网安备 33010602011771号