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.pswp.cn/news/254763.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/254763.shtml
英文地址,請注明出處:http://en.pswp.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;&…