----追光逐电 光赢未来----
在研究机器视觉算法之前,我们需要先了解机器视觉应用中涉及的基本数据结构。Halcon数据结构主要有图像参数和控制参数两类参数。图像参数包括:image、region、XLD,控制参数包括:string、integer、real、handle、tuple数组等。
1. Image(图像)
Image指在从文件或者相机等读取到内存之后,所得到的HALCON图像,其包括图像的颜色空间、长宽、通道、灰度等信息。根据每个像素信息不同,通常将图像分为二值图像、灰度图像、RGB图像。
图像的主要部分是channels通道,即包含各种像素类型的灰度值矩阵,图像内像素点的值用几个灰度值描述,那么图像就是几通道。比如灰色图像,每个像素的灰度值为0~255,图像有一个通道;而RGB的每个像素拥有R(Red,红色)、G(Green, 绿色)、B(Blue, 蓝色)3个通道,各自的取值范围都是0~255。
值得注意的是,在一般的图像处理中,灰度图像已经可以满足要求,因此为了节约计算量并加快速度,通常会将彩色图像转换成灰度图像进行处理。
2. Region(区域)
Region指图像中的一块包含某些特性的区域,这个特定的区域也称为图像的定义域或感兴趣区域(ROI),它是一幅图像中一个任意的像素子集,也是离散平面的一个任意子集。
Region的作用:
对象分割(blob分析)
用作图片域(Domain),只处理域内像素,可缩短运算时间
寻找特征
3. XLD(亚像素轮廓)
XLD(eXtended Line Descriptions)称为亚像素精度轮廓,指图像中某一块区域的轮廓,即一组有序的二维点集,二维点顺序用来说明彼此相连的关系。轮廓是用浮点数表示XLD各点的行、列坐标。
图像中Image和区域Region这些数据结构是像素精度的,点与点之间的最小距离就是一个像素的宽度。在实际工业应用中,可能需要比图像像素分辨率更高的精度,这时就需要提取亚像素精度数据,亚像素精度数据可以通过亚像素阀值分割或者亚像素边缘提取来获得。
4. Handle(句柄)
Handle句柄是一个标识符,是用来标识对象或者项目的。它就像我们的车牌号一样,每一辆注册过的车都会有一个确定的号码,不同的车号码各不相同,但也有可能在不同的时期出现两辆号码相同的车,只不过它们不会同时处于使用之中而已。
在程序设计中,句柄是一种特殊的智能指针,当一个应用程序要引用其他系统(如数据库、操作系统)所管理的内存块或对象时,就要使用句柄。从数据类型上来看,它只是一个32位(或64位)的无符号整数。
5. Tuple(数组)
Tuple可以理解为C/C++语言中的数组,数组是编程语言中常见的一种数据结构,可用于存储多个数据,每个数组元素存放一个数据,通常可通过数组元素的索引来访问数组元素。C/C++语言中的数组操作大都可以在Tuple中找到对应的操作。
来源:新机器视觉
申明:感谢原创作者的辛勤付出。本号转载的文章均会在文中注明,若遇到版权问题请联系我们处理。
----与智者为伍 为创新赋能----
联系邮箱:uestcwxd@126.com
QQ:493826566