前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >C++ OpenCV轮廓周围矩形和圆形绘制

C++ OpenCV轮廓周围矩形和圆形绘制

作者头像
Vaccae
发布于 2019-07-24 05:08:01
发布于 2019-07-24 05:08:01
2.5K05
代码可运行
举报
文章被收录于专栏:微卡智享微卡智享
运行总次数:5
代码可运行

前面我们学习了轮廓提取,正常我们在提到到轮廓截取出来时一般需要是矩形的图像,这次我们就来学习一下轮廓周围绘制矩形等。

相关API

approxPolyDP,对图像轮廓点进行多边形拟合

approxPolyDP(inputArray curve,OutputArray approxCurve,double epsilon,bool closed)

  • InputArray curve:一般是由图像的轮廓点组成的点集
  • OutputArray approxCurve:表示输出的多边形点集
  • double epsilon:主要表示输出的精度,就是另个轮廓点之间最大距离数,5,6,7,,8,,,,,
  • bool closed:表示输出的多边形是否封闭

矩形

boundingRect,得到轮廓周围最小矩形

Rect boundingRect(InputArray points)

  • points 二维点集,点的序列或向量

minAreaRect,得到最小的外接矩形

Rect minAreaRect(InputArray points)

  • points 二维点集,点的序列或向量

圆和椭圆

minEnclosingCircle,得到最小包围圆形

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

  • InputArray points:输入的二维点集
  • Point2f& center:表示输出的圆形的中心坐标,是float型
  • float& radius:输出的最小圆的半径,是float型

fitEllipse,二维点集的椭圆拟合,,用椭圆将二维点包含起来

RotatedRect fitEllipse(InputArray points)

  • points 二维点集,点的序列或向量
  • RotatedRect的参数:包含中心点坐标,以及矩形的长度和宽度还有矩形的偏转角度

代码演示

新建一个项目opencv-0025,配置属性(VS2017配置OpenCV通用属性),然后在源文件写入#include和main方法

操作步骤

  1. 将源图像变为二值图像
  2. 发现轮廓,找到图像轮廓
  3. 通过API找到轮廓点上的最小包含矩形,圆,椭圆
  4. 绘制图像

多边形拟合

可旋转的最小矩形

最小矩形

最小包围圆形

最小包围椭圆

运行效果如下


-END-

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-05-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 微卡智享 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
OpenCV | 二值图像分析的技巧都在这里
二值图像分析最常见的一个主要方式就是轮廓发现与轮廓分析,其中轮廓发现的目的是为轮廓分析做准备,经过轮廓分析我们可以得到轮廓各种有用的属性信息、常见的如下:
OpenCV学堂
2020/02/21
1.8K0
OpenCV 轮廓 —— 轮廓分析
当我们绘制一个多边形或进行形状分析时,通常需要使用多边形逼近一个轮廓,使顶点数变少。有多种方法可以实现这个功能,OpenCV实现了其中的两种逼近方法。
为为为什么
2022/08/09
3.4K0
OpenCV 轮廓 —— 轮廓分析
【从零学习OpenCV 4】轮廓外接多边形
由于噪声和光照的影响,物体的轮廓会出现不规则的形状,根据不规则的轮廓形状不利于对图像内容进行分析,此时需要将物体的轮廓拟合成规则的几何形状,根据需求可以将图像轮廓拟合成矩形、多边形等。本小节将介绍OpenCV 4中提供的轮廓外接多边形函数,实现图像中轮廓的形状拟合。
小白学视觉
2020/02/20
3.8K0
【从零学习OpenCV 4】轮廓外接多边形
Android OpenCV(三十七):轮廓外接多边形
该方法用于求取输入二维点集合的最小外接矩形。返回值为RotateRect对象。RotateRect类型和Rect类型虽然都是表示矩形,但是在表示方式上有一定的区别。通过查看成员变量可以很明显的看到差异。Rect是通过左上角的坐标来定位,默认横平竖直,然后通过宽高确定大小。而RotateRect则是通过center确定位置,angle结合宽高,计算各顶点的坐标,从而确定矩形。
Vaccae
2021/07/07
1.3K0
Android OpenCV(三十七):轮廓外接多边形
终于可以摆脱OpenCV中Hough圆调参的烦恼了
OpenCV图像项目中,圆的检测很常见。 例如:检测烂苹果的个数,寻找目标靶心,人眼,嘴巴识别等。 其中用到的关键技术是OpenCV中集成的霍夫圆检测函数。 HoughCircles( InputArray image, // 输入图像 ,必须是8位的单通道灰度图像 OutputArray circles, // 输出结果,发现的圆信息 Int method, // 方法 - HOUGH_GRADIENT Double dp,
用户9831583
2022/06/16
2.7K0
终于可以摆脱OpenCV中Hough圆调参的烦恼了
【OpenCV入门之九】轮廓查找和多边形包围轮廓
学习计算机视觉最重要的能力应该就是编程了,为了帮助小伙伴尽快入门计算机视觉,小白准备了【OpenCV入门】系列。新的一年文章的内容进行了很大的完善,主要是借鉴了更多大神的文章,希望让小伙伴更加容易理解。如果小伙伴觉得有帮助,请点击一下文末的“好看”鼓励一下小白。
小白学视觉
2019/06/02
1.9K0
OpenCV图像处理笔记(三):霍夫变换、直方图、轮廓等综合应用
一、霍夫直线变换 1、霍夫直线变换 Hough Line Transform用来做直线检测 前提条件 – 边缘检测已经完成 平面空间到极坐标空间转换 2、霍夫直线变换介绍 对于任意一条直线上的所有点来说 变换到极坐标中,从[0~360]空间,可以得到r的大小 属于同一条直线上点在极坐标空(r, theta)必然在一个点上有最强的信号出现,根据此反算到平面坐标中就可以得到直线上各点的像素坐标。从而得到直线 3、相关API 标准的霍夫变换 cv::HoughLines从平面坐标转换到霍夫空间,最终输出是
MiChong
2020/09/24
3K0
OpenCV图像处理笔记(三):霍夫变换、直方图、轮廓等综合应用
OpenCV 轮廓检测
http://blog.sina.com.cn/s/blog_8fc98fe501017ypb.html
流川疯
2022/11/29
8740
OpenCV 轮廓检测
【深度学习】实例第二部分:OpenCV
执行以下命令安装opencv-python库(核心库)和opencv-contrib-python库(贡献库)。注意:命令拷贝后要合成一行执行,中间不要换行。
杨丝儿
2022/02/28
1.8K0
【深度学习】实例第二部分:OpenCV
OpenCV 对轮廓的绘图与筛选操作总结
OpenCV利用findContours找到图像中的轮廓,根据这些轮廓的特征进行筛选有利于进一步逼近最终的兴趣区域,减少其他算法的时间,提高代码的运行效率,而对轮廓的绘图则可以直观的看到筛选结果。 其
chaibubble
2018/01/02
4.6K0
OpenCV  对轮廓的绘图与筛选操作总结
OpenCV 轮廓检测
在计算机视觉中,轮廓检测是另一个比较重要的任务。它包含的操作有计算矩形边界、圆形边界、多边形边界等等。
用户6021899
2019/09/02
1.9K0
OpenCV 轮廓检测
OpenCV系列之轮廓特征 | 二十二
特征矩可以帮助您计算一些特征,例如物体的质心,物体的面积等。请查看特征矩上的维基百科页面。函数cv.moments()提供了所有计算出的矩值的字典。见下文:
磐创AI
2019/12/11
9110
14: 轮廓特征
注意轮廓特征计算的结果并不等同于像素点的个数,而是根据几何方法算出来的,所以有小数。
CodecWang
2021/12/07
9180
14: 轮廓特征
【C++】OpenCV:车道线检测原理与实现示例
车道线检测是自动驾驶和驾驶辅助系统中的关键任务之一。OpenCV是一个广泛使用的计算机视觉库,可以用来进行车道线检测。
DevFrank
2024/07/24
4070
C++ OpenCV透视变换综合练习
以前的文章《C++ OpenCV之透视变换》介绍过透视变换,当时主要是自己固定的变换坐标点,所以在想可不可以做一个通过轮廓检测后自适应的透视变换,实现的思路通过检测主体的轮廓,使用外接矩形和多边形拟合的四个最边的点进行透视变换。
Vaccae
2021/01/18
1.1K0
OpenCV图像处理专栏十六 | 合理选用Side Window Filter辅助矩形框检测
今天要干什么?在一张图片上通过传统算法来检测矩形。为了防止你无聊,先上一组对比图片。
BBuf
2020/03/19
1.1K0
Opencv - Contours 属性及操作 Python API
cv2.findContours函数输入有三个参数: - thresh: source image - cv2.RETR_TREE: 轮廓检索模式 - cv2.CHAIN_APPROX_SIMPLE: 轮廓逼近方法 输出三个结果: - contours: 图像中所有的轮廓,python列表的形式保存. 每个单独的contour是包括物体边界点的(x,y)坐标的Numpy 数组.
AIHGF
2019/02/18
3.2K0
Opencv - Contours 属性及操作 Python API
VC++中使用OpenCV进行形状和轮廓检测
在VC++中使用OpenCV进行形状和轮廓检测,轮廓是形状分析以及物体检测和识别的有用工具。如下面的图像中Shapes.png中有三角形、矩形、正方形、圆形等,我们如何去区分不同的形状,并且根据轮廓进行检测呢?
ccf19881030
2024/05/24
5580
VC++中使用OpenCV进行形状和轮廓检测
C++ OpenCV检测并提取数字华容道棋盘
一直关注我的朋友应该知道前段时间使用OpenCV做了数字华容道的游戏及AI自动解题,相关文章《整活!我是如何用OpenCV做了数字华容道游戏!(附源码)》《趣玩算法--OpenCV华容道AI自动解题》,一直也想在现在的基础上再加些东西,就考虑到使用图像读取了棋盘,生成对应的棋局再自动AI解题。
Vaccae
2021/07/07
1K0
C++ OpenCV检测并提取数字华容道棋盘
最优拟合多边形框
算法:最优拟合多边形框是计算包围指定轮廓点集的点集,最优拟合多边形框是边界表达的一种,采用Douglas-Peucker(DP)算法来实现。
裴来凡
2022/05/28
7440
最优拟合多边形框
推荐阅读
相关推荐
OpenCV | 二值图像分析的技巧都在这里
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文