OpenCV 外接矩形框 cv2.boundingRect、cv2.minAreaRect
文章目录
- cv2.boudingRect
- cv2.minAreaRect
示意图
cv2.boudingRect
x,y,w,h = cv2.boundingRect(array)
输入:img/点集
array Input gray-scale image or 2D point set, stored in std::vector or Mat.
输出:x,y 是矩阵的左上点坐标 w, h是宽度和高度
是一个未旋转的矩形
cv2.minAreaRect
将2D点集作为输入,并返回一个Box2D结构,其中包括以下详细信息–(中心(x,y),(宽度、高度)、旋转角度)
(center(x,y), (width, height), angle of rotation) = cv2.minAreaRect(points)
- 输入:点集
- 输出:(中心(x,y),(宽度、高度)、旋转角度)
但是要绘制一个矩形,我们需要矩形的四个角,因此为了将Box2D结构转换为4个角点,OpenCV提供了另一个函数cv2.boxPoints(),这将Box2D结构作为输入并返回4个角点。4个角点从y最高的点开始按顺时针顺序排列。语法如下:
points = cv2.boxPoints(box)
在绘制矩形之前,需要将4个角点转换为整数类型。可以使用np.int32或者np.int64(不要使用np.int8,因为它允许最大值127并截断)。有时,你可能会看到使用了np.int0,不要混淆,这相当于np.int32或者np.int64,具体取决于你的系统结构。完整的代码如下:
rect = CV2.minAreaRect(cnt)
box = cv2.boxPoints(rect)
box = np.int0(box)
获得四个角点以后,这四个角点从具有最高y的点开始按顺时针顺序排列,如下所示。如果2个点具有相同的最高y,则最右的点是起点。这些点被编号为0,1,2,3(0开始,3结束)。
因此,OpenCV的cv2.minAreaRect()给出的旋转角度实际上是直线(连接起点和终点)与水平线之间的角度,如下所示。
因此角度值始终位于[-90, 0)之间。为什么?因为如果对象旋转超过90°,则使用下一条边来计算与水平面的角度。因此计算出的角度始终位于[-90,0)之间。
实际角度是对象旋转的角度,计算出的角度是cv.minAreaRect()返回的角度。
参考:
https://theailearner.com/tag/cv2-minarearect/
OpenCV 外接矩形框 cv2.boundingRect、cv2.minAreaRect相关推荐
- opencv 选择矩形框
新版opencv c++和python都不支持选多个roi,可以连续选几次. 参数解读: selectROI(windowName, img, showCrosshair=None, fromCent ...
- opencv利用矩形框选中某一区域_【从零学习OpenCV】4Ubuntu系统中安装OpenCV 4
经过几个月的努力,小白终于完成了市面上第一本OpenCV 4入门书籍<从零学习OpenCV 4>.为了更让小伙伴更早的了解最新版的OpenCV 4,小白与出版社沟通,提前在公众号上连载部分 ...
- python opencv 画矩形框 外接矩形
画矩形 import cv2 image = cv2.imread('1.jpg') cv2.rectangle(image, (xmin, ymin), (xmax, ymax), (0, 0, 2 ...
- 利用cv2.rectangle()绘制矩形框(python)
文章目录 cv2.rectangle绘制矩形框 使用解析 范例 总结 cv2.addWeighted绘制半透明框 使用解析 范例 总结 使用cv2.rectangle可以绘制矩形框,但要绘制半透明框使 ...
- python opencv最小外接矩形_Opencv绘制最小外接矩形、最小外接圆
Opencv中求点集的最小外结矩使用方法minAreaRect,求点集的最小外接圆使用方法minEnclosingCircle. minAreaRect方法原型: RotatedRect minAre ...
- 【千律】OpenCV基础:图像外接矩形、最小外接矩形、凸包、外接圆、拟合椭圆的绘制
环境:Python3.8 和 OpenCV 内容:图像外接矩形.最小外接矩形.凸包.外接圆.拟合椭圆的绘制 import cv2 as cv import numpy as np import mat ...
- opencv findContours()轮廓特征分析大全(求面积、周长、几何矩、质心、凸包、最小外接矩形、最小外接三角形、最小外接椭圆等)
文章目录 前言 一.效果 二.opencv对应函数介绍 1.轮廓面积 2.轮廓周长 3.轮廓几何矩 4.轮廓的最大外接矩形 5.轮廓的凸包 6.轮廓的最小外接矩形 7.轮廓的最小外接三角形 8.轮廓的 ...
- opencv 轮廓查找, 凸包,最小外接矩形,最小外接圆,最小外接椭圆
本章内容: 1. 轮廓查找 2. 绘制轮廓 3. 凸包 4.最小外接矩形 5.最小外接圆 6.最小外接椭圆 1.搜索轮廓 2.绘制轮廓 输出结果 3.凸包 输出结果 4.最小外接矩形 输出结果 5.最 ...
- opencv方框内图像保存_opencv利用矩形框选中某一区域并保存为新图片
本文实例为大家分享了Android九宫格图片展示的具体代码,供大家参考,具体内容如下 一.基本原理 Mat img= imread(image): Rect rect(50,20, 200, 50); ...
最新文章
- java类加载的表现形式
- Webservice超时问题
- 听说,当使用Reactjs的时候,Gulp和Browserify很配哦
- 登陆工行网上银行报60058017错误及输入正确网银密码提示密码不正确
- Silverlight开发历程—模糊特效与投影特效
- linux accept过程,Linux协议栈accept和syn队列问题
- python watchdog的使用_python watchdog监控文件修改
- vue开发 - 将方法绑定到window对象,给app端调用
- php jquery ajax实例,jQuery的$.ajax示例
- greenplum配置高可用_0665-6.2.0-如何在CDH中配置HMS高可用
- Android中Webview自适应屏幕
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_02 递归_1_递归概念分类注意事项...
- 语音识别系统原理介绍----gmm-hmm
- centos老是自动更换ip地址解决方案
- [转]内向的人如何建立人际网络
- 解方程(equation)
- suse linux启用80端口,SuSE Linux防火墙配置
- 7 种模型加权集成方法
- Dell precision 7720 移动工作站 nvidia 显卡安装说明
- Java 获取当前年 、当前月
热门文章
- 泰肯星球(Token Planets)基于EOS区块链技术的虚拟游戏
- PMP一模考试错题集+解析 之 人员
- 所生成项目的处理器架构“MSIL”与引用“ ”的处理器架构“AMD64”不匹配。
- 计算机内存tm,Intel(R) Core(TM) i3-3110M CPU @ 2.40GHz支持多大内存
- 走近澳洲------个人所得税篇
- 软考证书的含金量有多高?
- IDEA JAVA文档注释和方法注释模板
- 词袋模型(BOW,bag of words)和词向量模型(Word Embedding)理解
- Android supports-screens 屏幕适配
- POI导出Excel(一)