create_metrology_model创建测量几何形状所需的数据结构(原理)

目录

  • create_metrology_model(算子)
    • 描述
      • 二维计量的基本原理
        • 创建计量模型数据结构
        • 提供近似值
        • 修改模型参数
        • 修改对象参数
        • 对齐计量模型
        • 应用测量
        • 访问结果
        • 清理记忆
        • 注意
    • 参数

create_metrology_model(算子)

create_metrology_model - 创建测量几何形状所需的数据结构。

create_metrology_model(::: MetrologyHandle)

描述

create_metrology_model创建计量模型,即通过2D计量测量具有特定几何形状(计量对象)的对象所需的数据结构,并将其返回到手柄MetrologyHandle中。

二维计量的基本原理

通常,对于2D度量,必须提供要测量的对象的位置,方向和几何形状的近似值。在显示对象的图像内,这些近似对象的边界用于定位对象的真实边缘以适应几何形状的参数,使得它们最佳地适合图像数据。测量结果是优化的参数。计量模型用于存储所有必要的信息,例如计量对象的位置和几何形状的初始参数,控制测量的参数以及测量结果。可以通过2D计量测量的几何形状包括圆形,椭圆形,矩形和线条。

图像中对象的边缘位于所谓的测量区域内。这些是矩形区域,其垂直于近似物体的边界布置,使得它们的中心位于边界上。调整测量区域的尺寸和分布的参数与每个测量对象的近似形状参数一起指定。

当应用测量时,使用RANSAC算法确定所有测量区域内的边缘位置并使其适合几何形状。
在这里插入图片描述
计量模型包含7个显示为蓝色轮廓的计量对象。使用位于测量区域(灰色矩形)内的边缘(青色十字)用于每个计量对象,拟合几何形状(绿色轮廓)并测量它们的参数。如针对圆形的计量对象所示,可以找到一个以上的计量对象实例。
在下文中,描述了进行这种测量所需的各个步骤:

创建计量模型数据结构

首先,使用create_metrology_model创建计量模型数据结构,create_metrology_model用作一个或多个计量对象的容器。之后,应使用set_metrology_model_image_size指定将在其中执行测量的图像的图像大小,以进行有效测量。

提供近似值

然后,计量对象被添加到计量模型中。每个计量对象包括图像中相应对象的近似形状参数以及控制测量的参数。控制测量的参数包括例如指定测量区域的半长度和它们之间的距离的参数。此外,可以为每个计量对象调整几个通用参数。对于类型为circle的计量对象,使用运算符add_metrology_object_circle_measure指定计量对象,对于椭圆类型的计量对象使用add_metrology_object_ellipse_measure,对于类型为矩形的计量对象使用add_metrology_object_rectangle2_measure,对于类型行的计量对象使用add_metrology_object_line_measure。操作员add_metrology_object_generic允许使用一个操作员创建不同几何形状类型(例如椭圆,圆等)的计量对象。要目视检查定义的计量对象,可以使用运算符get_metrology_object_model_contour访问其边界的XLD轮廓。要目视检查创建的度量区域,可以使用运算符get_metrology_object_measures访问其边界的XLD轮廓。

修改模型参数

如果已执行摄像机校准,则摄像机参数和测量平面的姿势对所有计量对象有效,并使用set_metrology_model_param添加到计量模型中。然后,get_metrology_object_result返回的测量结果将以世界坐标表示。可以使用set_metrology_model_param来改变定义计量对象的参考坐标系。

修改对象参数

将计量对象添加到计量模型时,可以设置许多参数。其中一些也可以使用运算符set_metrology_object_param进行修改。可以使用copy_metrology_model复制计量模型。要将计量模型写入文件,可以使用运算符write_metrology_model。可以使用read_metrology_model再次从文件中读取模型。可以使用get_metrology_object_indices查询计量对象的索引。

对齐计量模型

align_metrology_model用于在执行下一次测量之前平移和旋转计量模型,以使其与图像中的当前出现相匹配。对齐是临时的,并由下一个对齐替换。计量模型本身没有改变。如果要使用形状模型和find_shape_model来获取对齐参数,请参阅align_metrology_model以获取更多详细信息。

应用测量

将所有计量对象添加到计量模型后,设置所有参数,并且可能发生对齐,使用apply_metrology_model执行图像中的测量。操作员使用RANSAC算法定位测量区域内的边缘并使指定的几何形状适合边缘位置。边缘使用运算符measure_pos或fuzzy_measure_pos在内部定位。后者使用模糊方法,并且仅在应用测量之前通过set_metrology_object_fuzzy_param设置至少一个模糊函数时使用。如果需要返回的对象形状的多个实例(比较上面的图像),则必须将泛型参数“num_instances”设置为应返回的实例数。添加单个计量对象时或之后使用运算符set_metrology_object_param可以设置该参数。

访问结果

测量后,可以访问结果。使用操作员get_metrology_object_result查询对象的适应几何形状的参数。注意,如果返回一个以上的对象实例,则返回的实例的序列是任意的,即,它不是对拟合质量的度量。可以使用get_metrology_object_measures访问所有定位边的行和列坐标。仅使用get_metrology_object_result查询用于返回结果的边和它们的幅度。通过get_metrology_object_result_contour提供了作为XLD轮廓的适应几何形状的可视化。

清理记忆

当不再需要计量模型时,应使用clear_metrology_model销毁它。

注意

注意,在调用运算符create_metrology_model之后,应该出于效率原因调用运算符set_metrology_model_image_size。

多线程类型:可重入(与非独占运算符并行运行)。
多线程范围:全局(可以从任何线程调用)。
没有并行化处理。
此运算符返回句柄。请注意,即使将此句柄类型的实例用作输入参数,也可以由特定运算符更改该句柄类型的实例的状态。

参数

MetrologyHandle(output_control)metrology_model→(整数)
处理计量模型。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/254763.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iOS开发UI篇—字典转模型

一、能完成功能的“问题代码” 1.从plist中加载的数据 2.实现的代码 1 //2 // LFViewController.m3 // 03-应用管理4 //5 // Created by apple on 14-5-22.6 // Copyright (c) 2014年 heima. All rights reserved.7 //8 9 #import "LFViewController.h" 10 11 i…

Codechef:Path Triples On Tree

Path Triples On Tree 题意是求树上都不相交或者都相交的路径三元组数量。 发现blog里没什么树形dp题&#xff0c;也没有cc题&#xff0c;所以来丢一道cc上的树形dp题。 比较暴力&#xff0c;比较恶心 #include<cstdio> #include<algorithm> #define MN 300001 #de…

grbl

第一次发帖...之前上论坛都是查资料的&#xff0c;发现gcode这一块资料比较少先说一下Gcode:Gcode在工业控制上用的很多&#xff0c;是一种通用的控制指令&#xff0c;数控机床上经常用&#xff0c;在我diy雕刻机&#xff08;打印机之类的&#xff09;的时候要用到&#xff0c;…

mybitis实现增,删,改,查,模糊查询的两种方式:(2)

方式二&#xff1a;mapper代理接口方式 这种方式只需要xml接口&#xff08;不用写实体类&#xff09;但是需要符合三个规范 使用mapper代理接口方式在同一目录下&#xff08;可以创建一个源文件夹&#xff0c;达到类文件和xml文件分类的作用&#xff09;xml中namespace&#xf…

C语言中的静态函数的作用

转载 在C语言中为什么要用静态函数(static function)&#xff1f;如果不用这个static关键字&#xff0c;好象没有关系。那么&#xff0c;用了static以后&#xff0c;有什么作用呢&#xff1f;我们知道&#xff0c;用了static的变量&#xff0c;叫做静态变量&#xff0c;其意义是…

c++11 原子类型与原子操作

1、原子类型和原子操作&#xff08;1&#xff09;类型&#xff08;2&#xff09;操作&#xff08;3&#xff09;详述● 原子类型只能从其模板参数类型中进行构造&#xff0c;标准不允许原子类型进行拷贝构造、移动构造&#xff0c;以及使用operator等● atomic_flag 是一个原子…

依弗科(上海)机电设备有限公司

机器人喷涂倒计时&#xff0c;上帝帮我实现愿望吧 阿门 &#xfeff;&#xfeff;&#xfeff;&#xfeff;

CoDeSys

&#xfeff;&#xfeff;CoDeSys是全球最著名的PLC内核软件研发厂家德国的3S&#xff08;SMART&#xff0c;SOFTWARE&#xff0c;SOLUTIONS&#xff09;公司出的一款与制造商无关的IEC 61131-1编程软件。CoDeSys 支持完整版本的IEC61131标准的编程环境&#xff0c;支持标准的六…

使用halcon结合机械XY轴对相机进行9点标定

小哥哥小姐姐觉得有用点个赞呗&#xff01; 先在halcon中计算仿射变换矩阵并验证 //在图像中找到的模板中心位置 PicX:[1680.721,2065.147,911.499,526.798,1290.920,1285.731,1300.953] PicY:[968.321,964.366,976.283,980.035, 587.055,394.727,1355.487] //与图像中查找…

Ubuntu Linux 提出新的发布模式——测试周

2019独角兽企业重金招聘Python工程师标准>>> 导读开源技术项目最大的优势之一就是社区的每个人都可以自由地提出想法&#xff0c;如果获得社区支持&#xff0c;它可以变成现实。著名的 Ubuntu 开发人员 Simon Quigley 就提出了一个可能改变 Ubuntu Linux 开发过程的…

【转】小白级的CocoaPods安装和使用教程

原文网址&#xff1a;http://www.jianshu.com/p/e2f65848dddc 百度有很多CocoaPods的安装教程.第一次看的时候,确实有点摸不透的感觉.经过思考,一步一步来实践,前后花了三十几分钟,才顺利使用..所以想了想,我还是写一个小白级的教程吧.细到每一个细节都说明. 让你不用10分钟解决…

常见错误总结

少打头文件 少打using namespace std; 命名冲突&#xff0c;全局变量与局部变量命名一致&#xff0c;导致使用的值不是期望值 边读边写&#xff0c;导致改后读&#xff0c;覆盖写入的值 长整数移位溢出&#xff0c;1<<63是错误的&#xff0c;应该写成1ll<<63 循环变…

HALCON相机标定相机内参相机外参

目录相机标定1.相机标定是什么2.怎么使用halcon进行相机内外参标定&#xff1f;&#xff08;1&#xff09;搭建硬件1.**相机连好电脑&#xff0c;用相机厂家软件打开相机&#xff0c;检查一下相机是否正常。**2.**接下来使用halcon连接相机**&#xff08;2&#xff09;开始标定…

angular change the url , prevent reloading

http://stackoverflow.com/questions/14974271/can-you-change-a-path-without-reloading-the-controller-in-angularjs $location.search({vln: $scope.vln_id}, false);会改变url中 &#xff1f; 后面的 搜索参数&#xff0c;但是controller不会重新实例化。angular 官方文档…

C#圆形卡尺测量程序基于halcon

废话不多说上源码 觉得帖子有用给点个赞哈 先来个效果图 下边的是源码&#xff0c;自己新建一个文件粘贴进去&#xff0c;包含到您现在的项目 中。这串源码后边是使用方法。 using System; using System.Collections.Generic; using System.Linq; using System.Text; usin…

科维PLC运行时系统ProConOS embedded CLR 2.2 特定应用

ProConOS embedded CLR是新型的开放式标准化PLC运行时系统&#xff0c;符合IEC 61131标准&#xff0c;可执行不同的自动化任务&#xff08;PLC、PAC、运动控制、CNC、机器人和传感器&#xff09;。   通过采用国际标准的微软中间语言&#xff08;依据IEC/ISO 23271标准为MSIL…

set()与get()详细解答(C#)

这几天在搬砖时候用到了set()与get()&#xff0c;同事问了我一些问题&#xff0c;我打算在博客中总结一下。 觉得帮助到了您&#xff0c;帮我点个赞哦。 属性访问器 其实说白了就是操作一个属性&#xff0c;更通俗一点说就是对一个变量的取值与赋值。 先来看get() get 访问…

如何判断一条曲线是否自己相交?

今天看到群里有人在问这个问题&#xff0c;想了一个解决办法。 我们首先作假设&#xff0c;如果一条曲线有交点&#xff0c;那么它就是相交的对吧。可能大家想的都是这样&#xff0c;就开始找各种方法去识别交点。 我们换个角度想一下&#xff1a;是不是我们判断这条曲线是否带…

hdu 5813 Elegant Construction

水题 题意&#xff1a;有n个城市&#xff0c;给你每个城市能到达城市的数量&#xff0c;要你构图&#xff0c;输出有向边&#xff0c;要求无环&#xff0c;输出任意的解 例&#xff1a; Sample Input 332 1 021 143 1 1 0Sample OutputCase #1: Yes21 22 3Case #2: NoCase #3: …

halcon相机标定及图像矫正(代码)

侵删 1 halcon相机标定和图像矫正 对于相机采集的图片&#xff0c;会由于相机本身和透镜的影响产生形变&#xff0c;通常需要对相机进行标定&#xff0c;获取相机的内参或内外参&#xff0c;然后矫正其畸变。相机畸变主要分为径向畸变和切向畸变&#xff0c;其中径向畸变是由透…