halcon是常用的图像处理商业软件,集成了很多算子和新的专利方法,处理速度快,运行稳定,适合快速量产导入,需要购买license许可才能使用,简单介绍一下其用法。
halcon界面有几个窗口分别显示不同功能,图像窗口显示算法处理结果,图像窗口下方有几个小窗口显示图像处理的计算步骤,例如二值化,边缘检测,连通域查找等,从小窗口可以大概确定其计算步骤有哪些。右侧有api函数调用接口,主要显示调用了哪些api进行操作。下方有计算结果打印输出,可以看每一步的图像处理结果和耗时。
比如想实现某种目标检测功能,可以从加载图像开始,界面可以选择要加载的图像,会自动生成api函数,之后一般进行灰度处理以及二值化操作,如果不知道用什么计算步骤可以用工具栏的提示功能,选择下一步可能的计算,halcon会自动选择计算步骤,同时在图像步骤小窗口显示计算结果。之后可以选择滤波,轮廓提取,轮廓面积计算和轮廓筛选等步骤最终得到结果。也可以用halcon自带的模板匹配功能,加载模板图像和待检测图像,将自动运行计算步骤得到所有计算中间过程,可以查看金字塔层数等计算参数。同时halcon自带机器学习功能,可以离线训练模型或加载预训练模型。
halcon自带很多示例程序和方案,在软件界面工具栏有示例选项,其中包含各行业的图像检测案例,可以选择相关案例进行离线测试,并分析中间步骤计算结果查看其使用了哪些算子,根据api函数查找其帮助文档说明,根据文档查找相关论文索引及专利出处,可以深入学习其计算原理。
halcon源码不开源,只能通过其帮助文档和api函数说明以及计算中间结果研究分析其计算原理,利用开源方案opencv根据计算步骤重写算法,同时计算结果和精度以halcon对标,最终摆脱商业软件的依赖,或根据索引论文以及专利实现自己的算法。