【halcon】Metrology工具系列之 get_metrology_object_model_contour

ops/2024/11/28 15:29:10/

get_metrology_object_model_contour (Operator)

Name

get_metrology_object_model_contour — 在图像坐标中查询测量对象的模型轮廓。

Signature
get_metrology_object_model_contour( : Contour : MetrologyHandle, Index, Resolution : )
Description

get_metrology_object_model_contour 返回所选测量对象在图像坐标中的轮廓。

测量模型由测量句柄 MetrologyHandle 定义。参数 Index 指定查询轮廓的测量对象。对于索引设置为 'all',返回所有测量对象的轮廓。

还记得上一篇文章中算子 add_metrology_object_line_measure, 它的作用是在测量模式上添加一个直线测量对象!这个参数最后一个参数就是index,这个index就是模式中的测量对象的编号!

返回值:操作符add_metrology_object_line_measure在参数Index中返回添加的测量对象的索引。

每个轮廓的形状和姿态由添加对象时设置的参数决定,例如使用 add_metrology_object_genericadd_metrology_object_circle_measure 等。如果使用 set_metrology_model_param 设置了测量模型的不同参考坐标系,或使用 align_metrology_model 执行了测量模型的对齐,则这些值会影响测量对象的当前姿态,从而影响返回的轮廓的姿态。(这些后续再讲~~~~)

返回的轮廓的分辨率通过分辨率控制,分辨率包含相邻轮廓点之间的欧几里得距离(以像素为单位)。如果输入值低于最小可能值(1.192e-7),则分辨率在内部设置为最小的有效值。

Execution Information
  • 多线程类型:可重入(与非独占操作员并行运行)。
  • 多线程范围:全局(可以从任何线程调用)。
  • 不进行并行处理。
Parameters(参数介绍)
  • Contour (output_object)
    xld_cont(-array) → object
    模型轮廓。

  • MetrologyHandle (input_control)
    metrology_model → (handle)
    测量模型的句柄。

  • Index (input_control)
    integer(-array) → (integer / string)
    测量对象的索引。
    默认值:0
    建议值:‘all’, 0, 1, 2

  • Resolution (input_control)
    real → (real)
    相邻轮廓点之间的距离。
    默认值:1.5
    限制:分辨率 >= 1.192e-7

Result

如果参数有效,操作员 get_metrology_object_model_contour 返回值 2(H_MSG_TRUE)。如有必要,会抛出异常。

Possible Predecessors

add_metrology_object_generic, add_metrology_object_circle_measure, add_metrology_object_ellipse_measure, add_metrology_object_rectangle2_measure, add_metrology_object_line_measure

Possible Successors

apply_metrology_model

See also

set_metrology_model_param, get_metrology_object_measures, align_metrology_model

例子讲解

* 清空屏幕,显式控制图像显示
dev_close_window ()
dev_update_off ()
read_image (Image, '形状模板图.png')
dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle)
dev_display (Image)* 创建测量模型
create_metrology_model (MetrologyHandle)
Row1 := 78
Column1 := 32
Row2 := 86
Column2 := 280* 添加找直线工具,给定参数,显示过程卡尺的轮廓
add_metrology_object_line_measure (MetrologyHandle, Row1, Column1, Row2, Column2, 20, 5, 1, 30, [], [], Index)
get_metrology_object_model_contour (Contour, MetrologyHandle, Index, 1.5)
get_metrology_object_measures (Contours, MetrologyHandle, 'all', 'all', Row, Column)

get_metrology_object_model_contour 得到轮廓就是众多方块中间的那根线!
在这里插入图片描述
而这些方块轮廓是通过get_metrology_object_measures得到。下一篇里面讲!
我们可以清晰的看到,方块的排列是根据这跟红线进行排布的,红线就是他们的中心!

回顾《上一篇》文章:

add_metrology_object_line_measure。这个算子的作用是在一个测量模型(metrology model)中添加一个线类型的测量对象(metrology object),并准备相应的矩形测量区域(rectangular measure regions)。以下是对这算子的详细解释:

测量区域的尺寸:测量区域垂直于线和切线方向的半边长分别由MeasureLength1和MeasureLength2设置。测量区域的中心位于线上。

通用参数调整:可以通过GenParamName和GenParamValue调整一些通用参数。特别是,所有在set_metrology_object_param操作符中可用的通用参数都可以设置。但请注意,对于许多应用来说,默认值已经足够,不需要调整。


http://www.ppmy.cn/ops/137390.html

相关文章

【Flink-scala】DataStream编程模型之 窗口的划分-时间概念-窗口计算程序

DataStream编程模型之 窗口的划分-时间概念-窗口计算程序 1. 窗口的划分 1.1 窗口分为:基于时间的窗口 和 基于数量的窗口 基于时间的窗口:基于起始时间戳 和终止时间戳来决定窗口的大小 基于数量的窗口:根据固定的数量定义窗口 的大小 这…

RK3568平台开发系列讲解(DMA篇)DMA engine使用

🚀返回专栏总目录 文章目录 一、申请DMA channel二、配置DMA channel的参数三、获取传输描述(tx descriptor)四、启动传输沉淀、分享、成长,让自己和他人都能有所收获!😄 📢DMA子系统下有一个帮助测试的测试驱动(drivers/dma/dmatest.c), 从这个测试驱动入手我们了解…

简单图论农场派对

题目 2406: 信息学奥赛一本通T1497-农场派对 时间限制: 2s 内存限制: 192MB 提交: 40 解决: 13 题目描述 原题来自:USACO 2007 Feb. Silver N(1≤N≤1000) 头牛要去参加一场在编号为 x(1≤x≤N) 的牛的农场举行的派对。有 M(1≤M≤100000) 条有向道路,每…

C++笔记之单例模式与静态方法的使用辨析及代码规范

C++笔记之单例模式与静态方法的使用辨析及代码规范 code review! 文章目录 C++笔记之单例模式与静态方法的使用辨析及代码规范一.示例代码二.讲解2.1.代码规范2.1.1.单例模式实现2.1.2.静态方法实现2.1.3.单例模式结合静态方法2.2.总结一.示例代码 // 使用 set 方法设置值(通…

IT成长之路-ubuntu驱动篇

历时3天的蹂躏,总结驱动安装全面教程。 步骤一、安装gcc、g和make包 #脚本更新 sudo apt-get update #编译gcc sudo apt-get install gcc #编译g sudo apt-get install g #编译make sudo apt-get install make 注意: gcc、g版本可能会导致显卡驱动安…

离散化/C++ STL编码+set去重

先只做离散 #include<iostream> #include<algorithm> #include<vector> #include<set> using namespace std; int main() {int N 0;cin >> N;vector<int> old;set<int> ne;int temp;for (int i 0; i < N; i) {cin >> te…

基于STM32的智能无人机自主飞行与目标识别系统设计

目录 引言系统需求分析 2.1 功能需求 2.2 硬件需求 2.3 软件需求系统设计 3.1 总体架构 3.2 各模块设计系统实现 4.1 硬件实现 4.2 软件实现系统调试与优化总结与展望 1. 引言 随着无人机技术的快速发展&#xff0c;无人机在军事侦察、环境监测、物流配送等领域的应用逐渐增多…

搭建私有docker仓库

1. 安装docker依赖包 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sudo yum install docker-ce docker-ce-cli containerd.io sudo systemctl …