HALCON读取图片共有4种方式,接下来将逐一进行介绍。
1、选择菜单栏中的【文件】→【读取图像】,弹出新界面“读取图像”
2、选择“图像读取”界面中的文件夹标识,弹出新的界面“选择一个文件”,选择想要展示的图片,确认【打开】。图片显示于”读取界面”中,同时说明了图片的信息,宽373像素,高296像素,颜色类型byte,通道数值3,数值3表示1个像素在内存里占据3个字节,24位。“变量名称”可以修改,确认后选择【确定】。
3、此时“程序窗口”中自动生成语句
read_image (Abc, 'C:/Users/Public/Pictures/abc.bmp') 将图像文件读到变量里
1)“Abc”是图片的变量名称;
2)“,”此处的逗号是英文格式;
3)“空格”在逗号的后面有一个空格,不能省略;
4)“'C:/Users/Public/Pictures/abc.bmp'”在单引号内写入图片的路径
4、若此时想在“图形窗口”中显示图像的话,在“程序窗口”中输入“dev_display”,然后连续按下tab键2次,生成显示变量“Abc”的语句。点击菜单栏中的【单步跳过函数】,图形窗口中将会显示“Abc”变量。
5、有的时候会发现,有了read_image()函数,变量会直接在“图形窗口”中显示,该功能可以进行设置。选择菜单栏中的“可视化”→“更新窗口”→“在单步模式”,在单步模式下有5种选择:
1)总是:每一次读取之后,变量图片都会在图形窗口中显示,将之前的图像覆盖;
2)从不:必须通过调用显示函数“dev_display()”才可将图像显示在图形窗口中。
3)清空并显示:每一次都会将原来的图像擦掉,显示新图。
首先需要将“在单步模式”设置为“总是”,然后直接在“程序窗口”中输入指令“read_image(”,鼠标左键双击选中提示框里的程序,将想要显示的图像的路径写入双引号’’内即可。
此种方式下可以同时读取多张图片,采用数组的方式,首先将之前的‘路径’用数组符号[ ]括在里面,然后再添加其他图片路径,如下:
此时有两个图片,如果想要在“图形窗口”显示的话,有两种方法。
方法一需要进行设置,操作如下:选择下图所示的【图片变量】,单击右键,选择【显示目录】→【对象1】或【对象2】,从而切换显示在图形窗口中的图片。
方法二,输入程序“select_obj (Image1, ObjectSelected, 1)”,显示对象1;select_obj (Image1, ObjectSelected, 2),显示对象2.
1、选择菜单栏中的【助手】→【打开新的image acquizition】,弹出新的界面
2、选择【图像文件】→【选择文件】,选中想要展示的图片,选择【代码生成】→【插入代码】,退出。
有时候,我们需要同时对大量的图片进行处理,按照上述方法操作,稍显麻烦。我们采取包含图片的文件夹,具体操作步骤如下:
1、选择菜单栏中的【助手】→【image acquisition】,弹出新界面,选择【图像文件】→【选择路径】,找到存储图片的文件夹,打开。
2、选择【代码生成】→【插入代码】,关闭窗口。此时,程序窗口中自动生成程序代码,如下图
函数原型:list_files(::Directory,Options:Files)
功能:列出目录中的所有文件
参数列表:
第1个参数Directory为输入变量,需要列出的目录名字
第2个参数Options为输入变量,默认值为files,建议值有:'files', 'directories', 'recursive', 'follow_links', 'max_depth 5', 'max_files 1000'
Files:指定搜索的格式为文件
Directories:指定搜索的格式为文件夹
recursive:指定可以遍历子文件夹下的文件
max_depth 5:指定遍历的深度
max_files 1000:指定遍历的最大文件数目
第3个参数Files为输出变量,读取的文件
函数原型:tuple_regexp_select( : : Data, Expression : Selection)
功能:文件格式筛选
Data:被选择的文件路径数组
Expression:文件格式的筛选规则
(bmp|JPG) 筛选的文件格式
'ignore_case' 忽略大小写
Selection:选择出的文件路径数组
index, 索引号, 一般从0开始计数