HALCON教程-初步:文件夹遍历,文件筛选,文件名拆分,图片读取及保存

本教程介绍了如何使用HALCON进行文件夹遍历、文件筛选、文件名拆分及图片读取与保存。通过list_image_files算子遍历文件夹,tuple_regexp_select算子筛选指定格式的图片,parse_filename解析文件名,并使用read_image和dump_window显示及保存图片。

【1】文件夹遍历

list_image_files ( : : ImageDirectory, Extensions, Options : ImageFiles)

ImageDirectory: 文件夹路径

Extensions: 文件扩展名,如'.bmp' '.jpg'

Options: 搜索选项

‘recursive’    指定可以遍历文件夹下的文件
‘follow_links’     
'max_depth 5'    指定遍历的深度
ImageFiles: 文件名数组,包含路径

注:另有list_files为遍历文件夹算子,可参照reference_hdevelop文档。

【2】文件筛选

tuple_regexp_select( : : Data, Expression : Selection)

Data: 文件名数组,包含路径

Expression: 文件筛选规则表达式

//.    转义
(bmp|JPG)    筛选的文件格式
‘ignore_case’    忽略大小写
Selection: 筛选出的文件名数组

【3】文件名拆分

parse_filename( : : FileName : BaseName, Extension, Directory)

Input parameters:

FileName: The input filename

Output parameters:

BaseName: The filename without directory description and file extension

Extension: The file extension

Directory: The directory path


* 遍历文件夹
list_image_files ('D:/Prostore/HDevelop/HDevelopTmp/images', 'default', [], ImageFiles)
* 筛选bmp及jmp格式的图片
tuple_regexp_select(ImageFiles, ['\\.(bmp|jpg)$','ignore_case'], ImageFiles)
* 打开窗口
dev_open_window (0, 0, 512, 512, 'black', WindowHandle1)
* 依次读取所选图片并显示 在窗口中
for Index := 0 to |ImageFiles| - 1 by 1
    read_image (Image, ImageFiles[Index])
    dev_display(Image)
    * 分割文件名
    parse_filename(ImageFiles[Index], BaseName, Extension, Directory)
    * 保存图片,给出路径及名称,新文件名为在原文件名后添加_adj
    dump_window(WindowHandle,'bmp',Directory + BaseName + '_adj')
    stop ()
endfor


注:程序设计过程中所用的算子的详细解释可以参照reference_hdevelop文档,该文档在Halcon安装路径下的doc文件夹中,外部函数的详细解释可以在程序编辑器函数列表中找到,函数列表中默认是main函数。

编程学习步骤:

1. 学习HDevelop示例程序。(文件—浏览HDevelop示例程序,示例程序存储在C:\Users\Public\Documents\MVTec\HALCON-12.0\examples\hdevelop路径下)
2. 参考reference_hdevelop文档。(更多帮助文档可在安装路径下doc文件夹中找到,本人帮助文档在D:\ProgramFiles\MVTec\HALCON-12.0\doc下)

算子、外部函数查找及学习

1. 百度HALCON实现某功能的函数或者算子;
2. 猜测算子可能包含的单词,在算子窗口中输入检索词,查看检索结果中的算子或者函数。
3. 进一步了解算子或者函数的具体功能及参数意义:算子详解可以参照reference_hdevelop文档,函数详解可以在程序编辑器函数列表中找到相应函数,然后进入该函数。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值