当我们得到对象轮廓后,可用boundingRect()得到包覆此轮廓的最小正矩形,minAreaRect()得到包覆轮廓的最小斜矩形,minEnclosingCircle()得到包覆此轮廓的最小圆形,这些函式协助我们填补空隙,或者作进一步的对象辨识,boundingRect()函式返回的是正矩形,所以如果对象有倾斜的情形,返回的可能不是我们想要的结果。

Rect boundingRect(InputArray points)

  • points:输入信息,可以为包含点的容器(vector)或是Mat。
  • 返回包覆输入信息的最小正矩形。

矩形边框(Bounding Rectangle)是说,用一个最小的矩形,把找到的形状包起来。还有一个带旋转的矩形,面积会更小,效果见下图

RotatedRect minAreaRect(InputArray points)

  • points:输入信息,可以为包含点的容器(vector)或是Mat。
  • 返回包覆输入信息的最小斜矩形。

void minEnclosingCircle(InputArray points, Point2f& center, float& radius)

  • points:输入信息,可以为包含点的容器(vector)或是Mat。
  • center:包覆圆形的圆心。
  • radius:包覆圆形的半径。

--------------------- 本文来自 线上幽灵 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/chen134225/article/details/80899575?utm_source=copy

OpenCV 中轮廓包裹的几个函数boundingRect、minAreaRect、minEnclosingCircle用法的更多相关文章

  1. opencv 中从cv::line和resize()函数

    转自: https://blog.csdn.net/weixin_36340947/article/details/77095924 转自: https://blog.csdn.net/robinhj ...

  2. [OpenCV-Python] OpenCV 中计算摄影学 部分 IX 对象检测 部分 X

    部分 IX计算摄影学 OpenCV-Python 中文教程(搬运)目录 49 图像去噪目标 • 学习使用非局部平均值去噪算法去除图像中的噪音 • 学习函数 cv2.fastNlMeansDenoisi ...

  3. OpenCV中图像算术操作与逻辑操作

    OpenCV中图像算术操作与逻辑操作 在图像处理中有两类最重要的基础操作各自是图像点操作与块操作.简单点说图像点操作就是图像每一个像素点的相关逻辑与几何运算.块操作最常见就是基于卷积算子的各种操作.实 ...

  4. OpenCV:OpenCV中的 parallel_for 和opencv parallel_for_

    OpenCV使用OMP完成并行运算,在使用AdaBoost检测的时候,在cascadedetect.cpp 里面,大量使用 parallel_for_(Range(0, stripCount), Ca ...

  5. 使用Opencv中均值漂移meanShift跟踪移动目标

    Mean Shift均值漂移算法是无参密度估计理论的一种,无参密度估计不需要事先知道对象的任何先验知识,完全依靠训练数据进行估计,并且可以用于任意形状的密度估计,在某一连续点处的密度函数值可由该点邻域 ...

  6. OpenCV中的新函数connectedComponentsWithStats使用

    主要内容:对比新旧函数,用于过滤原始图像中轮廓分析后较小的区域,留下较大区域. 关键字    :connectedComponentsWithStats 在以前,常用的方法是"是先调用 cv ...

  7. OpenCV学习笔记(12)——OpenCV中的轮廓

    什么是轮廓 找轮廓.绘制轮廓等 1.什么是轮廓 轮廓可看做将连续的点(连着边界)连在一起的曲线,具有相同的颜色和灰度.轮廓在形态分析和物体的检测和识别中很有用. 为了更加准确,要使用二值化图像.在寻找 ...

  8. Opencv中的轮廓(不全)

    1.初识轮廓 为了准确,要使用二值化图像.在寻找轮廓之前,要进行阈值化处理,或者Canny边界检测. 查找轮廓的函数会修改原始图像.如果你在找到轮廓之后还想使用原始图像的话,你应该将原始图像存储到其他 ...

  9. OpenCV中threshold函数的使用

    转自:https://blog.csdn.net/u012566751/article/details/77046445 一篇很好的介绍threshold文章: 图像的二值化就是将图像上的像素点的灰度 ...

随机推荐

  1. Outlook2013怎样自动答复电子邮件

    工具/原料 office2013或outlook2013 百度经验:jingyan.baidu.com 方法/步骤 1 首先我们创建自己的答复邮件.打开outlook2013,单击“开始”>“新 ...

  2. 线程基础的一些理解(一)(java)

     一.多线程的基本概念 线程是指进程中的一个执行场景,也就是执行流程,所以我们首先要聊一聊进程,以及进程和线程的关系 1.什么是进程? 一个进程对应一个应用程序,就像我们在windows系统中启动Wo ...

  3. Windows Server 2008R2常见的500错误

    每次公司服务器装系统后再去部署服务,都会碰到这个问题,这里记录一下问题的解决方法 遇到“500 – 内部服务器错误. 您查找的资源存在问题,因而无法显示.”的问题. 解决办法: 1.解决方法:打开II ...

  4. Mycat入门配置_读写分离配置

    1.Mycat的分片 两台数据库服务器: 192.168.80.11 192.168.80.4 操作系统版本环境:centos6.5 数据库版本:5.6 mycat版本:1.4 release 数据库 ...

  5. mysql count(*) vs count(1)

    perfer count(*) 官方文档: _InnoDB handles SELECT COUNT(*) and SELECT COUNT(1) operations in the same way ...

  6. 设计模式原则(6)--Open-Closed Principle(OCP)--开闭原则

    作者QQ:1095737364    QQ群:123300273     欢迎加入! 1.定义: 一个软件实体应当对扩展开放,对修改关闭.即软件实体应尽量在不修改原有代码的情况下进行扩展. 2.使用场 ...

  7. 设计模式原则(4)--Interface Segregation Principle(ISP)--接口隔离原则

    作者QQ:1095737364    QQ群:123300273     欢迎加入! 1.定义: 使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口. 2.使用场景: 类A ...

  8. javascript: 数组详细操作方法及解析合集(9个改变8个不变12个遍历)

    改变原数组的方法(9个): 1 2 3 4 5 let a = [1,2,3]; ES5: a.pop()/ a.shift()/ a.push()/ a.unshift()/ a.reverse() ...

  9. 【代码笔记】iOS-手机版本号,机型,操作系统版本,设备唯一标识符

    一,代码. RootViewController.m #import "ViewController.h" #import "sys/utsname.h" @i ...

  10. html基础标签下

    1.1 单标签 ◆注释标签   ctrl+/ ◆水平线标签   <hr> ◆换行标签   <br> 1.2 双标签 ◆段落标签    <p></p> ◆ ...