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,一经查实,立即删除!

相关文章

X264码率控制流程分析

码率控制的理论知识:码率控制的目的和意义:图像通信中码率控制的目的:通过调节编码参数,控制单位时间内的编码视频流的数据量,以使产生的比特流符合各种应用的需求。视频压缩的效率和视频内容有很大的关系,…

STL-list

#include "stdafx.h"#include<iostream>#include<string>#include<vector>//vector向量容器#include<deque>#include<list>#include<algorithm>using namespace std;/* list介绍 list容器实现了双向链表的数据结构&#xff0c;数…

Java微信二次开发(九)

多媒体文件上传与下载 第一步&#xff1a;找到包com.wtz.vo&#xff0c;新建类WeixinMedia.java 1 package com.wtz.vo;2 3 /**4 * author wangtianze QQ:8646200125 * date 2017年4月25日 上午11:10:316 * <p>version:1.0</p>7 * <p>descri…

add_metrology_object_generic将测量对象添加到计量模型中

目录add_metrology_object_generic&#xff08;算子&#xff09;描述可能的形状测量区域的定义通用参数参数add_metrology_object_generic&#xff08;算子&#xff09; add_metrology_object_generic - 将计量对象添加到计量模型中。 add_metrology_object_generic&#xff…

关于发那科机器人的FSSB

&#xfeff;&#xfeff;FSSB是指fanuc Serial Servo Bus&#xff0c;即发那科串行伺服总线&#xff08;光缆&#xff09;&#xff0c;连接CNC与伺服放大器。HSSB是指High-Speed Serial Bus&#xff0c;即高速串行总线&#xff08;光缆&#xff09;&#xff0c;连接CNC与外部P…

H264规定了三种主要档次

H264规定了三种主要档次&#xff0c;每个档次支持一组特定的编码功能&#xff0c;并支持一类特定的应用。 1、基本档次&#xff08;Baseline Profile&#xff09;&#xff1a;利用I片和P片支持帧内和帧间编码&#xff0c;支持利用基于上下文的自适应的变长编码进行的熵编码&…

get_metrology_object_result 获取计量模型的测量结果

目录get_metrology_object_result&#xff08;算子&#xff09;描述result_type&#xff1a;获取所有参数&#xff1a;获取特定参数&#xff1a;获得分数&#xff1a;used_edges&#xff1a;行&#xff1a;列&#xff1a;振幅&#xff1a;angle_direction&#xff1a;参数get_m…

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;其意义是…

[转] sql server 跨数据库调用存储过程

A库存储过程&#xff1a; create PROCEDURE [dbo].[spAAAForTest] ( UserName nvarchar(20) null ,LoginPwd nvarchar(60) null ) AS BEGINselect NA AS a, NB AS B, NC AS C;END 同一台服务器实例&#xff0c;A&#xff0c;B两个数据库&#xff0c;…

get_metrology_object_result_contour查询计量对象的结果轮廓

目录get_metrology_object_result_contour&#xff08;算子&#xff09;描述参数get_metrology_object_result_contour&#xff08;算子&#xff09; get_metrology_object_result_contour - 查询计量对象的结果轮廓。 get_metrology_object_result_contour&#xff08;&…

ABB 机器人 压包指令PackRawBytes 解包指令UnpackRawBytes

ABB 压包指令PackRawBytes 解包指令UnpackRawBytes PackRawBytes- 将数据导入 rawbytes 数据。 使用方法 PackRawBytes 用于将 num, dnum, byte,或者 string类型的数据&#xff0c;打包到 rawbytes 类型的变量中. 基本举例 &#xff1a; VAR rawbytes raw_…

C语言中使用静态函数的好处

静态函数会被自动分配在一个一直使用的存储区&#xff0c;直到退出应用程序实例&#xff0c;避免了调用函数时压栈出栈&#xff0c;速度快很多。 关键字“static”&#xff0c;译成中文就是“静态的”&#xff0c;所以内部函数又称静态函数。但此处“static”的含义不是指存储方…

react+redux+generation-modation脚手架搭建一个todolist

TodoList1. 编写actions.js2. 分析state 试着拆分成多个reducer3. 了解store4. 了解redux数据流生命周期5. 分析容器组件和展示组件 搞清楚&#xff0c;数据到底是如何流动的&#xff1f;6. 编写展示组件的代码7. 编写容器组件8. 传入store9. 总结10. 参考TodoList 脚手架Githu…

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

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

get_metrology_object_measures获取测量区域和计量模型的计量对象的边缘位置结果

目录get_metrology_object_measures&#xff08;算子&#xff09;描述参数get_metrology_object_measures&#xff08;算子&#xff09; get_metrology_object_measures - 获取测量区域和计量模型的计量对象的边缘位置结果。 get_metrology_object_measures&#xff08;&…