【halcon】裁剪

news2024/12/30 1:59:33

前言

目前我遇到的裁剪相关的函数都是以clip打头的函数。一共4个:

  1. clip_end_points_contours_xld
  2. clip_contours_xld
  3. clip_region
  4. clip_region_rel

前面两个是对轮廓的裁剪。
后面是对区域的裁剪。

裁剪轮廓的两端

clip_end_points_contours_xld 用于实现裁剪XLD(Extended Line Description)轮廓的两端
以下是对这个操作符的详细说明:

描述

ClipEndPointsContoursXld 操作符用于裁剪 XLD 轮廓的端点。参数 mode 确定了用于确定裁剪哪部分轮廓的测量方式。

  • 如果 mode = "length",则通过参数 length 传递要裁剪部分的像素点。
  • 如果 mode = "num_points",则通过参数 num_points 传递要裁剪的点数。

裁剪后的轮廓将保存在 clippedContours 中。如果裁剪了输入轮廓的所有点,将不返回任何轮廓。因此,返回的轮廓数少于或等于输入轮廓的数量。

参数

  • contours(输入对象):输入轮廓。
  • clippedContours(输出对象):裁剪后的轮廓。
  • mode(输入控制):裁剪模式。可选值为 “length” 或 “num_points”。
  • length(输入控制):裁剪长度,单位为像素(mode = "length")或点数(mode = "num_points")。

这里唯一不好理解的是轮廓的点数,我如何知道轮廓是由多个少个点构成的

我们可以借助算子 get_contour_xld 获取具体的轮廓点集,然后通过 gen_cross_contour_xld 点集具现化。

get_contour_xld (SelectedContours, Row, Col)
gen_cross_contour_xld (Cross, Row, Col, 1, 0.785398)

在这里插入图片描述
这里就很容易理解点和像素的关系了, “length” 和 “num_points” 这两种模式也很好理解了!
可以看到点是亚像素的,他的分布是不均均匀的。也进一步看到,轮廓的本质是点集合

示例

以下是使用 ClipEndPointsContoursXld 的一个简单示例:

// 创建输入轮廓
HObject contours;
GenCircleContourXld(out contours, 100, 100, 50, 0, 6.28318, "positive", 1.0);

// 定义裁剪模式和长度
HTuple mode = "length";
HTuple length = 20.0;

// 调用 ClipEndPointsContoursXld 进行裁剪
HObject clippedContours;
HOperatorSet.ClipEndPointsContoursXld(contours, out clippedContours, mode, length);

在这个例子中,输入轮廓是一个圆,裁剪模式为 “length”,裁剪长度为 20.0 像素。裁剪后的轮廓将保存在 clippedContours 中。

按矩形区域裁剪轮廓

clip_contours_xld 就看这张图就不用过多的解释了
在这里插入图片描述

按矩形区域裁剪区域

clip_region 这个是针对区域的,思路和 clip_contours_xld 一致。

相对区域裁剪

clip_region_rel 这个是针对区域的,和 clip_end_points_contours_xld 思路有些类似。
clip_region_rel (这里的rel 是 relative “相对的” 的缩写),这里也给出一张图。
在这里插入图片描述
也就说,可以将现有的区域切割,切割反向可以是上下左右。
在这里插入图片描述
这是函数还是挺有用的。

小结

这些是对halcon 裁剪相关算子的总结,我们下次见~~~

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

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

相关文章

6.6 Windows驱动开发:内核枚举Minifilter微过滤驱动

Minifilter 是一种文件过滤驱动,该驱动简称为微过滤驱动,相对于传统的sfilter文件过滤驱动来说,微过滤驱动编写时更简单,其不需要考虑底层RIP如何派发且无需要考虑兼容性问题,微过滤驱动使用过滤管理器FilterManager提…

第九节HarmonyOS 常用基础组件3-TextInput

一、TextInput描述 TextInput组件用于输入单行文本,响应输入事件。TextInput的使用也非常广泛,例如应用登录账号密码、发送消息等。和Text组件一样,TextInput组件也支持文本样式设置,下面的示例代码实现了一个简单的输入框&#x…

css所有属性介绍

文章目录 1️⃣ CSS属性介绍1.1 CSS3 动画属性(Animation)1.2 CSS 背景属性(Background)1.3 CSS 边框属性(Border 和 Outline)1.4 Box 属性1.5 Color 属性1.6 Content for Paged Media 属性1.7 CSS 尺寸属性…

prometheus部署及与grafana结合应用

一、prometheus 介绍 prometheus server 是 Prometheus组件中的核心部分,负责实现对监控数据的获取,存储以及查询。它会定期从静态配置的监控目标或者基于服务发现自动配置的自标中进行拉取数据,当新拉取到的数据大于配置的内存缓存区时&…

虚拟机备份数据自动化验证原理

备份数据成功备份下来了,但是备份数据是否可用可靠?对于这个问题,最好最可靠的方法是将备份数据实际恢复出来验证。 但是这样的方法,不仅费时费力,而且需要随着备份数据的定期产生,还应当定期做备份数据验…

MacDroid Pro for Mac – 安卓设备文件传输助手,实现无缝连接与传输!

想要在Mac电脑上轻松管理和传输您的安卓设备文件吗?MacDroid Pro for Mac 是您的最佳选择!这款强大的文件传输助手可以让您在Mac上与安卓设备之间实现快速、方便的文件传输。 MacDroid Pro for Mac 提供了简单易用的界面,让您能够直接在Mac上…

逻辑卷管理器lvm

啥意思,个人理解就是可以将物理分区合并一起组成大的磁盘,也可以移除其中的某个分区。 有四个概念需要了解下 PV,物理卷,VG 卷用户组,PE物理扩展块,LV逻辑卷 p物理,v卷,g用户组&a…

Java——》线性数据结构

推荐链接: 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Kafka】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 总结——》【Linux】 总结——》【MongoD…

java下载和安装

java下载和安装 一、下载和安装 下载地址:https://www.oracle.com/cn/java/technologies/downloads/#jdk21-windows 1.这里我们下载JDK21,初学者建议还是使用JDK8或者JDK17,因为更加稳定 2.下载完成后运行 3.点击下一步 4.设置安装位置&am…

双向链表的结构与基本操作(初始化,头插,尾插,删除,输出,清空,销毁等)

目录 1.双向链表的结构设计 2.双向链表的结构示意图: 3.双向链表的实现 4.双向链表的总结 1.双向链表的结构设计 typedef struct DNode{int data;struct DNode* next;//后继指针struct DNode* prio;//前驱指针}DNode ,*DList; 2.双向链表的结构示意图: 3.双向链表的实现 …

Mysql数据库介绍

1.1 MySQL数据库介绍 1.1.1 什么是数据库DB? DB的全称是database,即数据库的意思。数据库实际上就是一个文件集合,是一个存储数据的仓库,数据库是按照特定的格式把数据存储起来,用户可以对存储的数据进行增删改查操作…

深度学习实战63-利用自适应混合金字塔网络实现人脸皮肤美颜效果,快速部署与实现一键美颜功能

大家好,我是微学AI,今天给大家介绍一下深度学习实战63-利用自适应混合金字塔网络实现人脸皮肤美颜效果,快速部署与实现一键美颜功能。在本文中,我将介绍一种新颖的自适应混合金字塔网络(ABPN),该网络可以实现对超高分辨率照片的快速局部修饰。该网络主要由两个组件组成:一…

IDEA下载和安装

IDEA的下载和安装 一、概述 IDEA全称IntelliJ IDEA,是用于Java语言开发的集成环境,它是业界公认的目前用于Java程序开发最好的工具。 集成环境:把代码编写,编译,执行,调试等多种功能综合到一起的开发工具…

数字员工「取数宝」上新!4大优势,解决电商取数难题

全域电商,是近几年的新趋势,几乎所有商家都在布局全域,追求全域增长。但商家发现,随着投入成本的上涨,利润却没有增加。 其中最为突出的是——商家为保证全域数据的及时更新,通过堆人头的方式完成每日取数…

卡码网语言基础课 | 18. 开房门

目录 一、 map基础 二、 map的使用 2.1 map头文件的引入 2.2 声明映射关系 2.3 插入键值 2.4 查找键的存在 三、 范围for循环 题目: 假设你手里有一串钥匙,这串钥匙上每把钥匙都有一个编号,对应着一个房门的编号。现给你一个房门编号&a…

7.4 Windows驱动开发:内核运用LoadImage屏蔽驱动

在笔者上一篇文章《内核监视LoadImage映像回调》中LyShark简单介绍了如何通过PsSetLoadImageNotifyRoutine函数注册回调来监视驱动模块的加载,注意我这里用的是监视而不是监控之所以是监视而不是监控那是因为PsSetLoadImageNotifyRoutine无法实现参数控制&#xff0…

免费采集工具推荐,好文章值得收藏

采集工具的作用 在互联网的海洋中,有许多强大的免费采集工具,它们为用户提供了便捷、高效的方式,帮助用户从各种网站中收集、整理所需的信息。这些工具不仅广泛应用于市场研究、竞争情报等商业领域,同时也服务于学术研究、个人兴…

分享86个节日PPT,总有一款适合您

分享86个节日PPT,总有一款适合您 86个节日PPT下载链接:https://pan.baidu.com/s/1J09nhufX_3gvT2XxZkKz6Q?pwd6666 提取码:6666 Python采集代码下载链接:采集代码.zip - 蓝奏云 学习知识费力气,收集整理更不易…

30秒搞定一个属于你的问答机器人,快速抓取网站内容

我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版,欢迎购买。点击进入详情 文章目录 简介运行效果GitHub地址 简介 爬取一个网站的内容,然后让这个内容变成你自己的私有知识库,并且还可以搭建一个基于私有知识库的问…

道可云会展元宇宙平台全新升级,打造3D沉浸式展会新模式

随着VR虚拟现实、人工智能、虚拟数字人等元宇宙技术的快速发展,各个行业正试图通过元宇宙技术寻求新的发展突破口,会展行业也不例外。会展作为经贸领域的重要产业形态,越来越多的企业和组织开始寻求通过元宇宙技术为展会赋能,以满…