c#-Halcon入门教程——标定

Halcon代码

cs 复制代码
read_image (NinePointCalibration, 'D:/Desktop/halcon/ca74d-main/九点标定/NinePointCalibration.gif')

rgb1_to_gray (NinePointCalibration, GrayImage)

get_image_size (GrayImage, Width, Height)
dev_display (GrayImage)

* 获取当前显示的窗口句柄
dev_get_window (WindowHandle) 
* 设置显示窗口的显示区域为整个图像大小
* 参数:窗口左上角x坐标,窗口左上角y坐标,窗口高度,窗口宽度
dev_set_part (0, 0, Height, Width)
threshold (GrayImage, Regions, 0, 142)

* 填充二值图像中的空洞(输入区域,输出填充后的区域)
fill_up (Regions, RegionFillUp)
* 开运算
opening_circle (RegionFillUp, RegionOpening, 3.5)
* 连接相邻的区域
connection (RegionOpening, ConnectedRegions)
* 根据形状特征(这里是面积)选择区域
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 2259.62, 5000)
*对选择的区域按某一特征排序
* 参数:输入区域,输出排序后的区域,排序特征('character'表示字符特征,这里按区域中心点排序),排序方向('true'表示升序),排序的参考方向(这里是按行排序)
sort_region (SelectedRegions, SortedRegions, 'character', 'true', 'row')
* 在排序后的区域中找到最小的外接圆
* 参数:输入区域,输出圆心的行坐标,输出圆心的列坐标,输出圆的半径
smallest_circle (SortedRegions, Row, Column, Radius)
 
* 生成一个十字标记,用于标记找到的圆心位置
* 参数:输出十字标记,十字中心点的行坐标,十字中心点的列坐标,十字标记的长度,十字标记的倾斜角度(0.785398弧度约等于45度)
gen_cross_contour_xld (Cross, Row, Column, 50, 0.785398)

* 显示原始灰度图像
dev_display (GrayImage)
 
* 显示生成的十字标记
dev_display (Cross)
  1. 图像读取 :首先,我们使用read_image函数读取存储在指定路径的图像文件。这个函数将图像加载到内存中,以便后续处理。

  2. 灰度转换 :由于许多图像处理算法在灰度图像上效果更好,我们使用rgb1_to_gray将RGB图像转换为灰度图像。

  3. 图像尺寸获取 :使用get_image_size获取图像的宽度和高度,这对于后续设置显示窗口和计算等很有用。

  4. 显示图像 :dev_display用于在HALCON的图形窗口中显示图像。

  5. 设置显示区域 :dev_set_part用于设置显示窗口的显示范围,这里设置为整个图像的大小。

  6. 阈值分割 :threshold函数将灰度图像转换为二值图像,通过设定一个阈值来区分前景和背景。

  7. 空洞填充 :fill_up函数用于填充二值图像中的空洞,使前景区域更完整。

  8. 形态学开运算 :opening_circle使用圆形结构元素对图像进行形态学开运算,可以去除小的噪声点。

  9. 区域连接 :connection函数将相邻的前景区域连接起来。

  10. 形状选择 :select_shape根据指定的形状特征(这里是面积)选择满足条件的区域。

  11. 区域排序 :sort_region根据指定的特征对区域进行排序。

  12. 最小外接圆 :smallest_circle在排序后的区域中找到最小的外接圆,这里我们假设这是我们要标记的目标圆形区域。

  13. 生成十字标记 :gen_cross_contour_xld生成一个十字标记,用于标记找到的圆心位置。

  14. 显示标记 :最后,使用dev_display显示原始图像和生成的十字标记。

相关推荐
怪奇云呼军9 分钟前
教育试听预约后没到课,闪电智能 Voice Agent 如何做分层回访?
人工智能·python·算法·云计算·音视频
ajassi200012 分钟前
AI语音智能体开发日记(十八)智能体服务器xiaozhi-esp32-server源码部署指南
运维·服务器·人工智能·ai·ai编程
云淡风轻~窗明几净17 分钟前
角谷猜想的进展之三 移动了群山/沸騰的群山 2026-10-10
人工智能·算法·dubbo·图论
AliCloudROS17 分钟前
计算巢支持一键私有化部署Qwen3.8-27B
人工智能
汇智信科23 分钟前
汇智兵棋:AI赋能的一体化智能兵棋推演平台
人工智能
Joecien24 分钟前
AI 生成透明背景图实战:Qwen-Image-2.1-Pro API 实测(21 次实验 + 完整调用代码 + 避坑指南)
人工智能
龙亘川30 分钟前
设备管理业务建模:从设备信息台账到维护计划执行闭环
大数据·人工智能·智慧城市·开源软件·数据可视化
Psycho_MrZhang33 分钟前
多 Agent 研究系统的架构与实践
人工智能·架构
skywalk816334 分钟前
在FreeBSD系统的linux仿真环境下安装和使用kiro 这个亚马逊的AI agent
linux·人工智能·freebsd·kiro
ForeverYang201536 分钟前
一种无需训练缺陷数据生成算法--O2MAG
人工智能·深度学习·算法