【halcon资料】取出区域的轮廓上所有转折点

一、说明

        在区域运算的时候,有时候需要用图形的顶点来描述,比如,两个图中对象需要对齐,或者仿射变换,于是特征点是需要提取的。本文给出一个提取顶点的示例。

二、算子 

1.1 get_region_polygon算子

        (1)算子描述

        halcon的get_region_polygon算子用于获取给定的二值化区域中的多边形表示。该算子需要一个输入参数Region,代表需要转换的二值化区域,以及一个输出参数Polygon,代表转换后得到的多边形表示。对于多连通区域,get_region_polygon算子将返回一个多边形数组,每个多边形代表一个连通区域。如果输入区域中包含洞,则多边形数组的每个元素将包含一个内环和一个外环,用于分别表示洞和外部区域。通常,get_region_polygon算子会用于将二值图像的检测结果转换为几何信息,用于后续的图像分析和处理。
        操作符get_region_polygon计算一个多边形来近似一个区域(region)的边缘。多边形是行(rows)和列坐标(columns)的序列。它描述了区域的轮廓。只返回多边形的基点。参数Tolerance表示多边形与区域边缘之间的最大距离。该区域的空洞被忽略。操作符get_region_polygon以元组的形式返回坐标。

        (2)算子句型

    get_region_polygon(Region : : Tolerance : Rows, Columns)

        (3)参数描述表

参数描述性质
Region 输入区域输入
Tolerance误差hausdroff距离输入
Rows 多项式基点行坐标输出
Columns多项式基点列坐标输出

1.2 gen_cross_contour_xld算子

        (1)算子描述

        gen_cross_contour_xld是HALCON中用于生成十字形轮廓的算子。它可以用于创建与输入轮廓位于相同位置的十字形轮廓,其中十字形的大小和宽度可以通过传递参数进行控制。

        (2)算子的句型 

gen_cross_contour_xld (Contour: ContXLD, Row, Col, Size, Width: Integer)

        (3)参数表

参数意义性质

Contour

输出顶点集合。输出

Row: 

十字形的中心点所在行输入

Col

十字形的中心点所在列。输入

Size

十字形的大小(长度)。默认值为10。输入
Width十字形的宽度。默认值为1。输入

        执行以上代码将会创建一个名为Cross的XLD对象,它代表了一个在(60,70)处中心点的大小为30、宽度为4的十字形轮廓。在显示图片Image的同时,还会在屏幕上显示Cross对象。

三、代码        

read_image (Image, 'F:/images/pic/spin.jpg')
binary_threshold (Image, Region, 'max_separability', 'dark', UsedThreshold)
connection (Region, ConnectedRegions)
dev_set_line_width (3)
*提取线条
select_obj (ConnectedRegions, ObjectSelected, 1)
get_region_polygon (ObjectSelected, 5, Rows1, Columns1)

*显示线条上的拐点
gen_cross_contour_xld (Cross, Rows1, Columns1, 30, 0.785398)

四、输入图和结果

输入图

结果输出:

五、后记

        在结果图上的X点中,折点数量受get_region_polygon (ObjectSelected, 5, Rows1, Columns1)参数Tolerance的影响,Tolerance越小,折点数量越多。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

高级树结构

二叉排序树 左子树中所有结点的值,均小于其根结点的值。 右子树中所有结点的值,均大于其根结点的值。 二叉搜索树的子树也是二叉搜索树。 注意: 1.二叉查找树不能插入重复元素 2.中序遍历是一个递增的数列 3.高度越小查询效率越高 二叉排序…

设备采购信息管理系统

系列文章 任务14 设备采购信息管理系统 文章目录 系列文章一、实践目的与要求1、目的2、要求 二、课题任务三、总体设计1.存储结构及数据类型定义2.程序结构3.所实现的功能函数4、程序流程图 四、小组成员及分工五、 测试界面展示添加采购信息按编号查找采购信息按设备编号查找…

macOS Ventura 13.5beta (22G5027e)发布

系统介绍 黑果魏叔 5 月 20 日消息,苹果今日向 Mac 电脑用户推送了 macOS 13.5 开发者预览版 Beta 更新(内部版本号:22G5027e),本次更新距离上次发布隔了 17 天。 macOS Ventura 带来了台前调度、连续互通相机、Face…

【SpringBoot】SpringBoot 纯后端项目如何自定义异常页面(Whitelabel Error Page)

文章目录 背景安排方案步骤 验证 背景 一个短链服务,业务将长链接给我,我转换成短地址,用户访问短地址时,我再做redirect;没有前端,纯后端项目短链会有过期时间,过期后将返回错误信息某一天一个…

本地电脑做服务器搭建私人音乐网站ThinkMusic + cpolar内网穿透

文章目录 1. 前言2. 本地网页搭建2.1 环境使用2.2 支持组建选择 3. 网页安装3. 本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 转发自CSDN lisacpolar的文章:ThinkMusic源码搭建音乐网站,并实现公网访问 1. 前言 在我们的日…

Redis 概述

1. NoSQL 数据库简介 技术发展: 技术的分类 1、解决功能性的问题: Java、 Jsp、 RDBMS、 Tomcat、 HTML、 Linux、 JDBC、 SVN2、解决扩展性的问题: Struts、 Spring、 SpringMVC、 Hibernate、 Mybatis3、解决性能的问题: NoSQL、 Java 线…

MacBook杀毒软件CleanMyMac X2023

Mac 上也广泛存在恶意软件,并且能够突破系统自身的防护,通过渠道传播到电脑上,威胁大家的数据安全和窃取个人信息!所以,MacBook杀毒软件还是很有必要安装的。 始于颜值,忠于实力。CleanMyMac X是我用过UI风…

Java 与排序算法(3):插入排序

一、插入排序 插入排序(Insertion Sort)是一种简单直观的排序算法,它的基本思想是将待排序序列分为已排序区间和未排序区间,然后每次从未排序区间取出一个元素,将其插入到已排序区间的合适位置中,使得插入…

【Linux0.11代码分析】09 之 ELF可执行程序02 - Section Headers解析

【Linux0.11代码分析】09 之 ELF可执行程序02 - Section Headers解析 一、ELF概述二、ELF的组成结构2.1 ELF header:解析出 section headers 含31个section节和 program headers 含13个segment段2.2 Section Headers:获取当前程序的31个section节区信息2…

极狐(GitLab) 重磅发布新产品「极狐星」,让研发效能看得清,算得准,成就企业精英效能管理

在研发驱动业务增长的今天,越来越多的研发管理者发现: 总是觉得研发资源不够用? 如何用数据衡量研发效能? 如何定位软件交付瓶颈? 怎样管理并预警项目状态? 想尽早发现代码泄露风险怎么办?…

CleanMyMac X如何下载解锁完整版本?

这是一款很受到mac用户喜爱的清理软件。不仅清理文件的步骤十分简单,电脑小白用户也可以高效清理Mac电脑。作为一款全方位保护电脑的软件,CleanMyMac已经不满足于只做简单的Mac清理工具,而是为mac用户提供更多的实用功能:优化系统…

Redis三种集群模式

一、引言 Redis有三种集群模式,第一个就是主从模式,第二种“哨兵”模式,第三种是Cluster集群模式,第三种的集群模式是在Redis 3.x以后的版本才增加进来的,我们今天就来说一下Redis第一种集群模式:主从集群模…

Halcon 算子 select_shape_std 和 select_shape_xld区别

文章目录 1 select_shape_std 算子介绍2 select_shape_xld算子介绍3 select_shape_std 和 select_shape_xld区别4 Halcon 算子的特征 Features 列表介绍1 select_shape_std 算子介绍 select_shape_std (Operator) Name select_shape_std — Select regions of a given shape.Si…

【嵌入式烧录刷写文件】-2.4-移动Intel Hex中指定地址范围内的数据

案例背景(共5页精讲): 有如下一段Hex文件,将源地址范围0x9100-0x9104中数据,移动至一个“空的,未填充的”目标地址范围0xA000-0xA004。 :2091000058595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717…

【C++】类和对象(上)

【C】类和对象 前言遗漏的部分内联函数使用注意 语法糖auto循环(:) 正篇:面向对象(上)面向对象的思路类和对象stuct的升级对象class封装(private protect public)定义和声明分离this…

Vue3通透教程【十二】TS类型声明优势

文章目录 🌟 写在前面🌟 上篇文章解惑🌟 JS函数中的隐患🌟 函数中的类型🌟 写在最后 🌟 写在前面 专栏介绍: 凉哥作为 Vue 的忠实 粉丝输出过大量的 Vue 文章,应粉丝要求开始更新 V…

2023-5-19-Debug和Release到底有多少不同?

🍿*★,*:.☆( ̄▽ ̄)/$:*.★* 🍿 💥💥💥欢迎来到🤞汤姆🤞的csdn博文💥💥💥 💟💟喜欢的朋友可以关注一下&#xf…

垃圾站养殖场除臭杀菌解决方案

养殖场和垃圾站都会产生大量的有机废气和垃圾,这些废气和垃圾会产生难闻的臭味,影响周围环境和居民健康。这些地方又是病菌和细菌的滋生地,这些细菌和病菌会对人类和动物的健康造成威胁。除臭杀菌系统可以杀灭这些细菌和病菌,也可…

【Java|golang】1080. 根到叶路径上的不足节点--dfs

给你二叉树的根节点 root 和一个整数 limit ,请你同时删除树中所有 不足节点 ,并返回最终二叉树的根节点。 假如通过节点 node 的每种可能的 “根-叶” 路径上值的总和全都小于给定的 limit,则该节点被称之为 不足节点 ,需要被删…

回溯法【2-5】

假设一个推销员问题由下图定义,用回溯法求解 从1号结点出发的相应最短巡回路径(每个顶点刚好到达一次)。若用bestL表示搜索过程中产生的当前最优解,剪枝函数 L 设计为: L 已走过的路径长度 当前结点相关的最短边 所…