学习笔记 Halcon (学习笔记的格式)


概述

机器视觉工程应用主要由硬件和软件两部分组成。

硬件

  • 光源:为图像采集提供照明。
  • 工业相机:将图像转换为数字信号。
  • 镜头:调节光线,影响图像质量。

软件

业内常用的商业库包括 Halcon、Cognex、DALSA、eVision、NI 等,开源库包括 OpenCV 和 NI 的 LabVIEW + Vision。这些库提供图像处理和分析算法。

基本开发思路

  1. 图像采集
  2. 图像分割
  3. 形态学处理
  4. 特征提取
  5. 输出结果

使用 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 参数描述了各个参数的含义:

003c/table>

连接相机后,可以通过 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网,欢迎收藏本网址,收藏不迷路哦!

相关阅读

添加新评论