HALCON 图像处理软件
HALCON 是当今 machine vision 技术的代表,它总是以最新科技为基础,提供了现今市场
中最强大的 vision library。除了提供了完整的标准 machine vision 功能,还有一系列优异
的功能,如 3D 相机校正,形状以及原件导向的匹配,次像元精度的物体撷取、计算,利用
双像立体量测,任意形状的 ROI,以及更多的功能。
HALCON 开发程序的流程:
1 、利用 HDevelop 检视分析影像,建立计算雏形,最后完成视觉计算方法的发展。程序可
以分成不同的子程序,每个 procedures 可以只做一件事,像初始化、计算、或是清除。主
程序用于呼叫其它子程序,传递影像或是接收显示结果。最后,程序输出成我们要用的程序
代码,接续下一步工作。
2 、完整的程序发展是在程序设计环境中进行,像是 Microsoft Visual Studio 。
由 HDevelop 输出的程序代码,透过指令加入程序中 ( 例如 include) 。至于程序的接口等等
则是利用程序语言的功能来建构,接下来 compiled and linked ,产生应用程序。自行撰写
的程序和 HALCON library 一 起装入机器中出货,或是将程序卖到客户处。
参数和数据结构:
HALCON 有两种基本的数据型态 : 图像数据 (iconic ,例如影像 ) 以及控制数据 ( control ,
例如 变量,整数,字符串,handle 等等 ) 。所有运算子的参数都是以相同的方式排列:输
入图像,输 出图像,输入控制,输出控制。 当然,并非所有的运算子都具有上列四类参数,
不过参数排 列的次序依旧相同。
ROI :影像中要处理的数据范围。
region 即是一堆像元的集合。 region 中的像元不一定要相连,如果要让相连接的像元成
为一个 region ,只要呼叫运算子 connection 即可。
XLD 包含了所有等值线以及多边型的数据。。 XLD 对象中除了点坐标数据,还包含了全域
或区域属性,例如 edge 方向,或是分割时的 regression 参数等等。
Tuples 就像一个数组,其中的数据型态可为整数,浮点数或是字符串。当我们计算一
个 region 的某些特征时,会传回一个 结果,如果计算的是一群 region ,会传回一个 tuple ,
其中含有每个 region 的特征计算结果。 Control tuple 的指标由0开始。
Parallel HALCON
运算版本的 HALCON 在多处理器的计算机上能自动进行数据平行化,分配到不同的处理器
去作 业,例如影像。
取像
HALCON 提供了 40 余种取像设备连接接口,他们的名称一律以 HFG 开头,至于
以 parHFG 开头者是用于 Parallel HALCON。
图像滤波
图像增强:对比度增强、亮度校正、直方图归一化、直方图均衡
平滑滤波:各向非同性滤波、高斯平滑、均值滤波、阶梯滤波器(中值、分离系数中值滤波、加权中值等),
中度滤波、 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, PC-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。