机器视觉算法开发软件----HALCON
HALCON是世界范围内广泛使用的机器视觉软件,用户可以利用其开放式结构快速开发图像处理和机器视觉软件。
HALCON提供交互式的编程环境HDevelop。
可在Windows,Linux,Unix下使用,使用HDevelop可使用户快速有效的解决图像处理问题。
HDevelop含有多个对话框工具,实时交互检查图像的性质,比如灰度直方图,区域特征直方图,放大缩小等,并能用颜色标识动态显示任意特征阈值分割的效果,快速准确的为程序找到合适的参数设置。
HDevelop程序提供进程,语法检查,建议参数值设置,可在任意位置开始或结束,动态跟踪所有控制变量和图标变量,以便查看每一步的处理效果。
当用户对于机器视觉编程代码完成后,HDevelop可将此部分代码直接转化为C++,C或VB源代码,以方便将其集成到应用系统中。
HALCON提供交互式的模板描述文件生成工具HmatchIt,。
可交互式地为一个模型定义一个任意形状的感性趣区域,HmatchIt优化给出此创建模型的合适参数, 自动生成模板描述文件以供程序调用,快速为基于形状匹配和结构匹配的用户找到实现目标识别和匹配应用的合适的参数设置。
HALCON提供支持多CPU处理器的交互式并行编程环境Paralell Develop, 其继承了单处理器板HDevelop的所有特点,在多处理器计算机上会自动将数据比如图像分配给多个线程,每一个线程对应一个处理器,用户无需改动已有的HALCON程序,就立即获得显
著的速度提升。
HALCON中HDevelop Demo中包含680个应用案例,根据不同的工业领域,不同的用法和算法分类列出,用户可以根据自己的需求方便的找到相对应的类似案例,快速掌握其函数用法。
HALCON提供的函数使用说明文档,详细介绍每个函数的功能和参数用法,提供在不用开发语言(VC,VB,.NET等)下的开发手册,而且提供一些算法(例如3D)的原理性介绍,给用户的学习提供帮助。
特点:原型化的开发平台,自动语法检查;
动态察看控制和图标变量;
支持多种操作系统;
支持多CPU;
支持多种文件格式;
自动语言转化功能;
与硬件无关,可支持各种硬件;
应用领域:医学图像分析;
2D/3D测量;
立体视觉;
匹配定位;
光学字符识别;
Blob分析;
表面检测;
平板,晶片及硬模检测;
遥感图像和航空图像分析;
条码识别;
技术参数:
图像滤波
图像增强:对比度增强、亮度校正、直方图归一化、直方图均衡
平滑滤波:各向非同性滤波、高斯平滑、均值滤波、阶梯滤波器(中值、分离系数中值滤波、加权中值等),中度滤波、Sigma滤波、切尾均值、椒盐噪声去除,递归平滑滤波
边缘滤波:Canny, Deriche, Lanser, Shen, Frei, Kirsch, Roberts, Prewitt, Roberts, Prewitt, Robinson, Sobel, Laplace算子高斯差分,高斯导数、边缘闭合
点滤波: Foerstner, Harris, Sojka亚象素精度点提取滤波器
纹理: Laws滤波器(3X3,5x5,7X7)离差、熵
算术运算:比例缩放、加、减、乘、绝对值、最大值、最小值、翻转颜色变换:CIElab,hsv,his,yiq,yuv,CIExyz,hls,his等
傅立叶变换:高速FFT、高斯、导数计算、Gabor滤波器、带通、高通、低通滤波,能量、相位,权值计算
霍夫变换:线、园检测。
其他类型滤波器:自定义滤波器、点滤波器、灰度骨架抽取,主成分
分析,拓扑骨架抽取,高斯金字塔变换、类型转换
亚象素边缘及线提取
Canny、Deriche Lanser和Sobel边缘检测算子;Facet模型及Steger 线提取(精度高于1/50像素);亚象素彩色边缘、线提取;亚象素阈值
亚象素轮廓处理
轮廓处理:仿射和投影变换;线、圆、椭圆分割提取及拟合;平行轮廓合并;不同标准形状生成。
形状特征:面积、中心点、方向、圆度、紧密度、周长、椭圆轴、力矩、凸度、离心率、角分析(凸,圆、矩形);基于形状特征的轮廓选择
边缘位置测量
沿线段、圆弧的亚象素边缘提取;自动选择边缘(起点、终点、所有点、上升、下降,边缘点对);边界及边界对寻找评价函数
Blob分析
阈值:全局、局部、自动
区域处理:连通域分析、骨架、连接点,终点;集合算法(交集、并集,差集、补集);角分析(凸、圆、矩形、椭圆形、凹);空洞填充、区域生成(矩形、圆形、椭圆形、方格、网格、多边形、任意形状),访问(游程编码,链码、轮廓、多边形)
灰度值特征:最大值、最小值、均值、方差、共生矩阵、直方图、熵、模糊特征、灰度矩
形状特征:面积、中点、方向、圆度、紧密度,空洞数、周长、凹度、椭圆轴、2阶、3阶
矩、离心率、Hamming距离、闭合区域(圆、矩形),距离、空间关系、欧拉数
图像分割
阈值:彩色、后验证分割
区域生长:梯度、均值、彩色、纹理
分类:基于神经网络或n维线性平面或曲面的分类器
可变化模型:基于参考图像和经过训练的在一定误差范围内的标准样本的分割。
数学形态学
二值形态学:明可夫斯基加减、膨胀、腐蚀、开运算、闭运算,击中击不中变换、边界、修剪、加粗、细化、距离变换
灰度形态学:分水岭算法、膨胀、腐蚀、开运算、闭运算、top hat, bottom hat
分类器
多层感知神经网络;非一致分布n维线性平面或曲面的数据集聚类算法
几何变换
旋转、比例缩放、平移、镜像、剪切、仿射、透视、极化变换;从点对应到角的近似变换、含自动点匹配的图像融合;图像变形校正;拼图;线扫描图像区域与边界融合
模式匹配
灰度值、基于形状、基于任意大小和形状的多模版匹配;鲁棒性极佳的识别算法,对于旋转、比例缩放、混乱及部分被遮挡物体和照明变化都能准确识别。
只需调用一次识别寒暑,即可识别不同目标及之间
有相对位置变化的目标。
可以产生综合模型,比如从多边形的图像数据中
条码及二维码识别
1维条码识别:EAN 13, EAN 8, UPC-A, UPC-E, 2/5工业, 2/5插入式,Codabar, Code 39, Code 93, Code 128, PharmaCode
2维码识别:ECC 200, QR 码
光学字符识别(OCR)
基于字符的识别,特殊分割算法,旋转校正、训练字体、可选特征
光学字符验证(OCV)
基于灰度值的模版对比算法、对于亮度,位置以及大小变换均能得出一致性结果。
3维定标
用多幅图像为针孔和远心摄像机的内部及外部参数定标;图像和点的变形校正;点和轮廓的图像坐标到实际三维空间坐标系的变换;图像校正(去除镜头及透视变形)
3维视觉
双目立体视觉:双摄像机标定;图像校正;亚像素精度的深度及差度
计算
其它方法:基于聚焦变化的深度图像获取;基于双目视觉的测量
图像序列
背景估计;光流分析
Sockets的网络传输
在HALCON处理器之间传输图像、区域、XLD(轮廓数据)及控制参数
串口
读出、写入数据
支持文件格式:
AVI, BMP, GIF, JPEG, PCX, PNG, PNM, TIFF, XWD, 二进制,Sun-Raster。