概述
机器视觉工程应用主要由硬件和软件两部分组成。
硬件
- 光源:为图像采集提供照明。
- 工业相机:将图像转换为数字信号。
- 镜头:调节光线,影响图像质量。
软件
业内常用的商业库包括 Halcon、Cognex、DALSA、eVision、NI 等,开源库包括 OpenCV 和 NI 的 LabVIEW + Vision。这些库提供图像处理和分析算法。
基本开发思路
- 图像采集
- 图像分割
- 形态学处理
- 特征提取
- 输出结果
使用 Halcon 的图像处理流程
图像采集
Halcon 通过
imageacquisitioninterfaces
支持各种图像采集卡和工业相机。它提供统一的接口,封装不同相机的参数,从而实现算子统一化。以下代码展示了如何在 Halcon 中连接相机并设置参数:
open_framegrabber(DahengCAM, 1, 1, 0, 0, 0, 0, interlaced, 8, gray, -1, false, HV-13xx, 1, 1, -1, AcqHandle)
其中
ParameterValuesDefaultTypeDescriptionName
参数描述了各个参数的含义:
连接相机后,可以通过
grab_image
或
grab_image_async
算子采集图像。
grab_image
为同步采集,而
grab_image_async
为异步采集。异步采集不受处理速度的影响,可以提高采集效率。
// 同步采集
grab_image(Image, AcqHandle)
// 异步采集
grab_image_async(Image, AcqHandle,MaxDelay)
其中
MaxDelay
表示异步采集时的最大允许延迟时间。
图像分割
图像分割将图像划分为不同的区域,以便识别和分析感兴趣的区域。Halcon 提供了多种图像分割算法,如阈值分割、区域生长、轮廓分割等。
形态学处理
形态学处理是对图像中的形状进行处理和分析。Halcon 提供了丰富的形态学算子,如膨胀、腐蚀、开运算、闭运算等。
特征提取
特征提取从分割后的图像中提取具有判别性的特征,以便后续的分类或识别。Halcon 提供了多种特征提取算子,如边缘检测、角点检测、直线拟合等。
输出结果
处理后的图像或提取的特征可以通过多种方式输出,如显示在图像窗口中、保存为文件、发送到其他应用程序等。
Parameter | Type | Description |
---|---|---|
HorizontalResolution | integer | 水平分辨率,111表示全分辨率,2表示水平1/2分辨率。 |
VerticalResolution | integer | 垂直分辨率,与水平分辨率类似。 |
ImageWidth | integer | 图像宽度的指定,0表示全宽。 |
ImageHeight | integer | 图像高度的指定,0表示全高。 |
StartRow | integer | 图像裁剪起始行的行坐标。 |
StartColumn | integer | 图像裁剪起始行的列坐标。 |
Field | 忽略。 | |
BitsPerChannel | 忽略。 |
本文原创来源:电气TV网,欢迎收藏本网址,收藏不迷路哦!
添加新评论