cv::convexityDefects()详解

news2024/9/22 3:40:21

参考链接:详解OpenCV的函数convexHull()和函数convexityDefects(),并利用它们)做凸包(凸壳)检测及凸包(凸壳)的缺陷检测-CSDN博客

 

void convexityDefects( InputArray contour, InputArray convexhull, OutputArray convexityDefects );

三个参数说明如下:

contour---生成凸包的轮廓点集,一般就是轮廓检测函数findContours()的输出。

convexhull----函数convexHull()的输出,里面存储的是凸包信息,在这里只能是int类型(即vector<vector<int>>类型),而不能是vector<vector<Point>>类型。

convexityDefects ----类型为vector<vector<Vec4i>>类型,每一个凸包缺陷由若干个Vec4i来描述,每一个Vec4i由四个整型数据构成,这四个整型数据的名称分别为:start_index, end_index, farthest_pt_index, fixpt_depth。具体意义用下面这张图来说明。

上面的黄色数字标的①②③④⑤⑥六个部分实际上就描述了手的轮廓凸包的六个凸包缺陷。这里以⑥为例说明start_index, end_index, farthest_pt_index, fixpt_depth的意义。

start_index:凸包缺陷的起点,上图⑥中的A或B就代表起点,A或B都位于轮廓上。

end_index: 凸包缺陷的终点,上图⑥中的A或B就代表终点,A或B都位于轮廓上。

farthest_pt_index:凸包缺陷中轮廓与凸包相距的最远点,上图⑥中的C点就是凸包缺陷中轮廓与凸包相距的最远点,C点也位于轮廓上。

​fixpt_depth:上图中C点距离凸包的距离。它以8位定点小数来近似表示,所以如果要换成浮点数,应该除以256,即the floating-point value=fixpt_depth/256.0。

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

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

相关文章

Java ArrayList扩容机制 (源码解读)

结论&#xff1a;初始长度为10&#xff0c;若所需长度小于1.5倍原长度&#xff0c;则按照1.5倍扩容。若不够用则按照所需长度扩容。 一. 明确类内部重要变量含义 1&#xff1a;数组默认长度 2:这是一个共享的空数组实例&#xff0c;用于明确创建长度为0时的ArrayList &#xff…

钙粘蛋白CDH:肿瘤靶点研究新秀

前 言&#xff1a; 钙粘蛋白是钙依赖性细胞间粘附的重要介质&#xff0c;属于跨膜糖蛋白。钙粘蛋白在组织稳态中起重要作用&#xff0c;促进组织发育、突触粘附和上皮屏障功能。钙粘蛋白功能改变与癌症进展、血管疾病和其他病理学有关。目前多种钙粘蛋白有望成为治疗靶点&…

英伟达显卡A100定制版和原厂版什么区别为什么价格相差这么大?

环境&#xff1a; 英伟达A100显卡 问题描述&#xff1a; 英伟达显卡A100定制版和原厂版什么区别为什么价格相差这么大&#xff1f; 定制版 原本 解决方案&#xff1a; NVIDIA A100显卡的定制版和原版之间的主要区别通常在于它们的设计、用途、性能以及价格。以下是一些…

如何解决线上平台抽佣高 线下门店客流少的痛点!

目前&#xff0c;许多传统零售店铺正遭遇客源下降的难题。尽管广告推广能带来一定的客流&#xff0c;但其费用昂贵。鉴于此&#xff0c;众多零售商纷纷选择加入像美团、饿了么和抖音这样的大型在线平台&#xff0c;但这些平台的高佣金率导致了利润的大幅缩水。在这样的市场环境…

“数据守护,商业共赢” — 华企盾招商会议圆满落幕

在数字化浪潮席卷全球的今天&#xff0c;数据安全已成为企业可持续发展的基石。为了共同探讨数据防护的新策略&#xff0c;推动行业生态的健康发展&#xff0c;我司于2024年9月6日成功举办了一场以“数据守护&#xff0c;商业共赢”为主题的招商会议。此次会议汇聚了来自各行各…

本地私有化RAG知识库搭建—基于Ollama+AnythingLLM保姆级教程

一、关于RAG 1.1 简介 检索增强生成&#xff08;Retrieval-Augmented Generation&#xff0c;RAG&#xff09;是一种结合了信息检索和语言模型的技术&#xff0c;它通过从大规模的知识库中检索相关信息&#xff0c;并利用这些信息来指导语言模型生成更准确和深入的答案。这种…

UEC++学习(十七)利用SceneCaptureComponent2d进行截图

最近有个需求是需要将场景中的actor进行截图&#xff0c;并且将截图保存成png&#xff0c;png中需要将场景背景忽略掉&#xff0c;只显示特定的actor。 这里是通过SceneCapture2d组件捕捉场景后&#xff0c;将背景的alpha通道设置为0&#xff0c;实现背景透明的功能。 &#x…

2024年音频转文字软件哪家强?4 款等你来测

hello&#xff0c;今天来聊聊一个超级方便的小工具&#xff0c;它能帮你把声音直接变成文字&#xff01;想想看&#xff0c;现在谁没有几个音频文件要处理的&#xff0c;比如记笔记的声音、开会的录音、做采访的素材&#xff0c;这些都能搞定。别着急&#xff0c;我现在就给你们…

static 的作用,static 在类中使用的注意事项(定义、初始化和使用),static 全局变量和普通全局变量的异同

目录 1. static 的基本作用 2. static 在类中的使用 2.1 静态成员变量 2.2 静态成员函数 3. static 变量在全局作用域中的使用 3.1 static 全局变量 3.2 普通全局变量 4. static 局部变量 5. static 全局变量与普通全局变量的异同 static 在类中的静态成员变量和成员函…

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务&#xff0c;目标是自动识别图像中的对象类别。通过卷积神经网络&#xff08;CNN&#xff09;等…

mingw c++/qt使用grpc方法详细教程

1. RPC框架 RPC框架是什么 RPC 框架说白了就是让你可以像调用本地方法一样调用远程服务提供的方法,而不需要关心底层的通信细节。简单地说就让远程服务调用更加简单、透明。 RPC包含了客户端(Client)和服务端(Server) 业界主流的 RPC 框架整体上分为三类: 1> 支持多语…

Springboot课堂评测系统的设计与实现---附源码82642

目 录 摘要 Abstract 1 绪论 1.1 研究背景与意义 1.2 开发技术和开发特点 1.3论文结构与章节安排 2 课堂评测系统系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1 数据增加流程 2.2.2 数据修改流程 2.2.3 数据删除流程 2.3 系统功能分析 2.3.1 功能性分析 2.3.…

MyBatis-pulsdruid数据源

MyBatis-Plus 是 MyBatis 的增强工具&#xff0c;主要用于简化数据库操作和提升开发效率。Druid 是阿里巴巴开源的数据库连接池组件&#xff0c;提供了高效的数据库连接管理和监控功能。将这两者结合使用可以更好地管理和操作数据库。以下是 MyBatis-Plus 和 Druid 数据源的总结…

数据重删技术

目录 一、名词介绍 二、重删概述 三、重删分类 四、源端重删 一、名词介绍 指纹&#xff1a;不同数据块数据通过哈希算法所生成的唯一标识。 重删率&#xff1a;&#xff08;1 - 实际备份数据量 / 已完成数据量&#xff09;* 100%。 重删卷&#xff1a;存放指纹库的物理卷。…

JAVA一键开启缘分之旅红娘相亲交友系统小程序源码

一键开启缘分之旅 —— 红娘相亲交友系统 &#x1f496; 初遇心动&#xff0c;一键启程 在这个快节奏的时代&#xff0c;找到那个对的人似乎成了一种奢侈。但别担心&#xff0c;有了“红娘相亲交友系统”&#xff0c;你的缘分之旅只需一键即可开启&#xff01;无需复杂的注册流…

【网页播放器】播放自己喜欢的音乐

// 错误处理 window.onerror function(message, source, lineno, colno, error) {console.error("An error occurred:", message, "at", source, ":", lineno);return true; };// 检查 particlesJS 是否已定义 if (typeof particlesJS ! undefi…

【Day10-配置文件日志多线程】

配置文件 介绍 配置文件 在企业开发过程中&#xff0c;我们习惯把一些需要灵活配置的数据放在一些文本文件中&#xff0c;而不是在Java代码写死我们把这种存放程序配置信息的文件&#xff0c;统称为配置文件 Properties 是一个Map集合&#xff08;键值对集合&#xff09;&am…

推荐系统的基础_协同过滤(CF)

协同过滤&#xff08;Collaborative Filtering&#xff09;是一种推荐系统算法&#xff0c;它通过分析用户之间的相似性或者物品之间的相似性来预测用户可能感兴趣的物品。协同过滤算法主要有两种类型&#xff1a; 1. 用户基协同过滤&#xff08;User-based Collaborative Filt…

OceanMind海睿思“一种业务驱动数据治理的方法和系统”获国家发明专利!

近日&#xff0c;中新赛克海睿思最新技术&#xff1a;一种业务驱动数据治理的方法和系统&#xff08;专利号ZL 202410567107.8&#xff09;&#xff0c;获得国家知识产权局的正式授权&#xff0c;并取得专利证书。 当前&#xff0c;现有的数据治理方法论和平台工具主要聚焦于数…

IDEA 常用插件推荐,美观又实用!

1、 TONGYl Lingma - Your Al Coding Assistant. Type less, Code more. 通义灵码&#xff0c;是一款基于通义大模型的智能编码辅助工具&#xff0c;提供行级/函数级实时续写、自然语言生成代码、单元测试生成、代码注释生成、代码解释、研发智能问答、异常报错排查等能力&…