上位机模块之圆形测量,基于halcon的二次开发

10 篇文章 0 订阅

夸克网盘可自取。链接:https://pan.quark.cn/s/ac192950e051

//在此之前可以先浏览2篇博客,分别是序列化与反序列化和ROI绘制获取
https://blog.csdn.net/m0_51559565/article/details/134422834 //序列化与反序列化
https://blog.csdn.net/m0_51559565/article/details/134422052 //绘制与获取ROI

在编写通用上位机或普通上位机时,我们经常会遇到对多个产品或者有新增产品的情况,但是直接修改代码又会非常麻烦,所以直接使用通用的上位机模块与序列化可以快速解决不同产品的问题。
halcon文档解析。
在halcon的算子中针对常见的几何图像进行测量。其中add_metrology_object_generic可以对圆,椭圆,矩形,直线进行测量。主要内容可以直接查看文档
几何测量算子
难点代码解析

//在初始化窗体时,会先添加一部分常用的功能模块
//其中通用参数与匹配位置是最常使用的
private void HalconCircle_Load(object sender, EventArgs e)
        {
            Measure_Set.Items.Add("uniform");//所有的,会获取所有可以匹配的点集
            Measure_Set.Items.Add("positive");//白到黑点集
            Measure_Set.Items.Add("negative");//黑到白点集
            Measure_Set.SelectedIndex= 0;

            Measure_Place.Items.Add("first");//所有点集的第一条轮廓,从中心出发
            Measure_Place.Items.Add("last");//所有点集的最后一条轮廓,从结尾出发
            Measure_Place.Items.Add("all");//所有点集,从预先指定的圆半径出发,上下查找
            Measure_Place.SelectedIndex= 0;

            Measure_Height.Text = "100";
            Measure_wide.Text = "10";
            Measure_Guass.Text = "1.2";
            Measure_Threshold.Text = "30";

        }
        HOperatorSet.AddMetrologyObjectCircleMeasure(measurehandel, result[0], result[1], result[2],
                                         Height, wide, Guass, Threshold, (new HTuple("measure_transition")
                                         ).TupleConcat("measure_select"), (new HTuple(Measure_Set.Text)
                                         ).TupleConcat(Measure_Place.Text),out HTuple index);
 //模块中直接使用AddMetrologyObjectCircleMeasure算子,圆形测量算子来实现对圆的查找,与几何测量的算子基本一致                                        

在halcon的文档中,对通用参数与位置的描述比较的模糊。通用参数与位置并不是一一对应的情况,而是相对的,在程序和上文列举了部分最常用到的参数
在这里插入图片描述
最终效果图:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值