基于haclon的曲线针识别实例

基于haclon的曲线针识别实例 
本例子介绍了一个利用haclon对曲线针进行识别的例子,目标是计算并确定曲线针的位置和方向,曲线针如图所示:

这里写图片描述 
1.启动HDevelop,新建一个程序: 
这里写图片描述 
2.读入图片: 
在输入算子函数处输入read_image 
这里写图片描述 
输入图片变量名:Image1,图片的路径点击filename.read选取图片路径。 
点击输入会看到程序输入区出现输入图片命令的代码 
这里写图片描述 
运行程序: 
这里写图片描述 
窗口左侧图像变量区会出现相应的图像变量,并且图像窗口显示读入的图像。 
3.选取可视化-工具-灰度直方图命令 
这里写图片描述 
点击阈值旁边的使能 。调整阈值的最小值和最大值,调整过程中可以看到阈值调整的实时图: 
这里写图片描述 
当阈值为10到55左右时图像2值处理效果较好。 
4.添加阈值分割函数threshold。 
设置阈值最小值为10,最大值为55.点击输入插入代码 
这里写图片描述 
这里写图片描述 
5.添加后继函数 
选中刚插入的程序行,打开菜单栏中的 建议-后继函数。选择connection算子。目的是把选择的像素分割成区域。 
这里写图片描述 
单击确定。通过connection计算得到的区域用不同的颜色显示。 
这里写图片描述 
6.鼠标移到图形变量ConnectedRegions右键显示目录—选择。出现如下图所示,测量出来的区域。 
这里写图片描述 
发现区域数比曲线针数多了1个,因为图像左上角有干扰图像。 
7.根据特征值选择区域排除干扰区域 
点击可视化—工具—特征值直方图工具,它有助于选择拥有共同属性或特性的区域。 
这里写图片描述 
激活area旁边的使能 。移动最小和最大值剔除干扰区域: 
这里写图片描述 
点击插入代码,运行程序查看区域,发现区域数为13,干扰区域已经被剔除 
这里写图片描述 
添加orientation_region(SelectedRegions,Phi) 得到针的方向,返回的Phi为针的方向角度 
area_center(SelectedRegions,Area,Row,Cloumn)返回每个针区域的中心位置。 
运行程序得到结果,结果在控制变量区域有显示 
这里写图片描述 
8.在循环体中访问检测结果。 
点击菜单栏—算子—控制—for 
设置参数: 
这里写图片描述 
|Phi|-1是HDevelop语言的一部分,|Phi|表示元组元素的个数。点击输入。 
然后在for循环中添加如下代码: 
set_tposition(3600,Row[index],Cloumn[Index]) 
这里写图片描述 
write_string(3600,deg(Phi[Index])+’degree’) 
这里写图片描述 
算子set_tposition把图形窗口中的文本光标位置移至索引Index所对应的区域的中心位置。3600是目标图形窗口的窗口句柄。显示在窗口标题栏 
Row[Index]是HDevelop语言的另外一个算子。通过它来访问突破了元组的一个元素。 
算子write_string的作用是在图形窗口中,在当前光标位置输出指定字符。deg()是把弧度转换为角度的意思。 
9.最后结果如图所示: 
这里写图片描述 
这里写图片描述

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智能算法研学社(Jack旭)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值