首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在python中绘制一个矩形的4个顶点的边界框?

在Python中绘制一个矩形的4个顶点的边界框可以使用各种图形库来实现,比如matplotlib、OpenCV等。下面是使用matplotlib库的示例代码:

代码语言:txt
复制
import matplotlib.pyplot as plt
import matplotlib.patches as patches

# 定义矩形的4个顶点坐标
x = [1, 1, 4, 4]
y = [1, 4, 4, 1]

# 创建一个图形对象和一个子图对象
fig, ax = plt.subplots()

# 创建一个矩形对象,并设置边框颜色为红色
rect = patches.Polygon(xy=list(zip(x, y)), closed=True, edgecolor='red', fill=False)

# 将矩形对象添加到子图中
ax.add_patch(rect)

# 设置坐标轴范围
ax.set_xlim(0, 5)
ax.set_ylim(0, 5)

# 显示图形
plt.show()

这段代码使用matplotlib库创建了一个图形对象和一个子图对象,然后通过patches.Polygon创建了一个矩形对象,并设置边框颜色为红色。最后将矩形对象添加到子图中,并设置坐标轴范围,最终显示出矩形的边界框。

推荐的腾讯云相关产品:腾讯云服务器(CVM)和云服务器实例(CVM实例)。腾讯云服务器(CVM)是一种可弹性伸缩的云计算服务,提供了高性能、高可靠性的云服务器实例,适用于各种应用场景。您可以通过腾讯云服务器(CVM)来搭建和运行Python程序,并使用相关的图形库来绘制矩形的边界框。

腾讯云服务器(CVM)产品介绍链接地址:https://cloud.tencent.com/product/cvm

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

计算机视觉 OpenCV Android | 基本特征检测 之 轮廓分析

(1)边界框 最常见的获取轮廓的外接矩形是边界框, 获取每个轮廓的边界框, 通过它可以得到与各个轮廓相对应的高度与宽度, 并能通过它计算出轮廓的纵横比。...调用该API会返回一个Rect对象实例,它是OpenCV关于矩形的数据结构, 从中可以得到外界矩形(边界框)的宽高, 然后就可以计算出轮廓的横纵比了。...(2)最小边界框 与上面边界框不同的是, 获取到的最小边界框有时候不是一个水平或者垂直的矩形, 而是一个旋转了一定角度的矩形, 但是最小外接矩形(最小边界框)能够更加真实地反映出轮廓的几何结构大小,...调用该API会返回一个RotatedRect对象实例, 它是OpenCV关于旋转矩形的数据结构, 其包含了旋转角度,矩形的宽、高及四个顶点等信息, 通过相关的API都可以查询获得, 绘制旋转矩形对象的时候..., 首先需要得到四个顶点, 然后通过OpenCV绘制直线的API来完成旋转矩形的绘制。

1.4K20

矩形包围框

temp=np.zeros(o.shape,np.uint8) contoursImg.append(temp) x,y,w,h=cv2.boundingRect(contours[i])#计算矩形包围框...np.array([[[x,y]],[[x+w,y]],[[x+w,y+h]],[[x,y+h]]]) o=cv2.drawContours(o,[brcnt],-1,(255,255,255),2)#绘制矩形包围框...() 顶点及长宽的点形式: x= 173 y= 10 w= 110 h= 105 顶点及长宽的元组(tuple)形式: rect= (173, 10, 110, 105) 算法:矩形包围框是计算包围指定轮廓点集的左上角顶点的坐标以及矩形长和宽...x, y, w, h=cv2.boundingRect(array) x表示矩形边界左上角顶点的x坐标 y表示矩形边界左上角顶点的y坐标 w表示矩形边界的x方向的长度 h表示矩形边界的y方向的长度 array...表示轮廓或灰度图像 注意:矩形包围框是外部矩形而不是内部矩形。

47620
  • 【从零学习OpenCV 4】绘制几何图形

    与circle()函数一致,当边界线的厚度值为负数的时候,将绘制一个实心的椭圆。...在OpenCV 4中还提供了另外一个函数ellipse2Poly()用于输出椭圆的边界的像素坐标,但是不会在图像中绘制椭圆,其函数原型在代码清单3-43中给出。...1 04 绘制多边形 在几何中多边形也是一个重要的成员,而多边形中矩形又是一个比较特殊的类型,因此OpenCV 4中除了提供绘制多边形的函数fillPoly()外,也提供了绘制矩形的函数rectangle...int shift = 0 16. ) pt1:矩形的一个顶点 pt2:矩形中与pt1相对的顶点,即两个点在对角线上。...在OpenCV 4中定义了两种函数原型,分别利用矩形对角线上的两个顶点的坐标或者利用左上角顶点坐标和矩形的长和宽唯一确定一个矩形。在绘制矩形时,同样可以控制边缘线的宽度绘制一个实心的矩形。

    1.4K30

    VC++中使用OpenCV进行形状和轮廓检测

    如下面的图像中Shapes.png中有三角形、矩形、正方形、圆形等,我们如何去区分不同的形状,并且根据轮廓进行检测呢?...,结果放到vector> contours数组中 3、遍历每一个轮廓多边形,首选计算轮廓面积,过滤那些面积特别小的轮廓(比如面积小于1000则不处理,例如上图中的那个黑色的圆点...),消除噪声;计算轮廓周长(封闭的或者非封闭的)或曲线长度,以指定精度逼近多边形曲线,计算顶点集合或灰度图像的非零像素的右上边界矩形,获取边界包围盒;然后轮廓多边形的角落(顶点)个数objCor,根据objCor...;绘制边界包围盒,颜色为绿色;在边界包围盒左上方往上5像素的位置,绘制其形状的描述文字 C++示例代码 示例代码如下: #include #include...以指定精度逼近多边形曲线 cout << conPoly[i].size() << endl; boundRect[i] = boundingRect(conPoly[i]); // 计算顶点集合或灰度图像的非零像素的右上边界矩形

    51500

    大学课程 | 计算机图形学,基于MFC和二维变换的画图软件

    直线的绘制则根据矩形起始点使用MoveTo()和LineTo()函数绘制。 2.2.3 等腰和直角三角形 在使用鼠标拉取的矩形中选取点位置并用画线函数连接点实现。三角形包括3个顶点。...根据左箭头在矩形中绘制时的对应比例,7个顶点坐标为: P1 (pStart.x, pStart.y-dy/2); P2 (pStart.x+dx/2),pStart.y); P3 (pStart.x...根据五角星在矩形中绘制时的对应比例,5个顶点坐标为: P1(pStart.x+pEnd.x)/2),pStart.y); P2(pStart.x+RX*(sin(72*pi/180)cos(54*pi/...2.5.5 回退 由于本项目把每个图形外接矩形的一对顶点保存在了点表MyList中的一个自定义的节点结构体中,所以在回退时,我们只需要删除点表中的最后一个节点,然后根据点表重新绘图即可。...在实验的过程中,我们逐渐了解了MFC框架中,不同类的功能和定义方法,明白了双缓冲机制的原理,熟悉了基本的消息映射功能和对话框的设计,以及如何在不同类间传递数据的方法。

    2.5K40

    Matplotlib的详细使用及原理

    认识matplotlib Matplotlib是一个Python 2D绘图库,能够以多种硬拷贝格式和跨平台的交互式环境生成出版物质量的图形,用来绘制各种静态,动态,交互式的图表。...Matplotlib已经成为python中公认的数据可视化工具,我们所熟知的pandas和seaborn的绘图接口其实也是基于matplotlib所作的高级封装。...每个Axes边界框(默认白底黑边),也有一个Rectangle,通过它可以设置Axes的颜色、透明度等。...Figure.patch属性:是一个Rectangle,代表了图表的矩形框,它的大小就是图表的大小, 并且可以通过它设置figure的背景色和透明度。...Axes.patch属性:也是一个Rectangle,代表了绘图坐标轴内部的矩形框(白底黑边), 通过它可以设置Axes的颜色、透明度等。

    16710

    使用OpenCV测量图像中物体的大小

    上篇,我们学习了一项重要的技术:将一组旋转的边界框坐标按左上、右上、右下和左下排列的可靠性如何。 今天我们将利用这一技术来帮助我们计算图像中物体的大小。请务必阅读整篇文章,看看是如何做到的!...测量图像中物体的大小类似于计算相机到物体的距离——在这两种情况下,我们都需要定义一个比率来测量每个计算对象的像素数。 我将其称为“像素/度量”比率,我将在下面中对其进行更正式的定义。...属性2:我们应该能够轻松地找到这个引用对象在一个图像,要么基于对象的位置(如引用对象总是被放置在一个图像的左上角)或通过表象(像一个独特的颜色或形状,独特和不同图像中所有其他对象)。...使用这个比率,我们可以计算图像中物体的大小。 用计算机视觉测量物体的大小 现在我们了解了“像素/度量”比率,我们可以实现用于测量图像中对象大小的Python驱动程序脚本。...然后按左上、右上、右下和左下顺序排列边框四个顶点坐标,如上篇的博客文章(第15行)所述。 最后,第16-19行用绿色绘制对象的轮廓,然后将边界矩形的顶点绘制成红色的小圆。

    2.7K20

    Qt5 和 OpenCV4 计算机视觉项目:6~9

    ,在CaptureThread::detectObjectsDNN方法中绘制检测到的汽车的边界框后,我们直接使用边界框的框架和向量调用新添加的函数。...cars_area是一个整数向量,用于将矩形的区域保存在cars_in_middle向量中。 target_idx将是我们找到的目标汽车的索引。 我们遍历边界框并检查每个边界框。...然后,将distance变量格式化为字符串,然后将其绘制在目标汽车左上角的边界框中。...看起来是这样的: 如您所见,我们在视频中检测到了多于一辆汽车,但是仅测量了中间一辆与摄像机之间的距离。 距离的长度以黄色文本标记在目标汽车边界框的左上角。...是正确的,但这不是最佳方法。 我们可以将旋转矩形的边界框中的区域复制到新图像,然后旋转并裁剪它们以将旋转矩形转换为规则矩形。

    3.3K30

    【愚公系列】2023年12月 GDI+绘图专题 Rectangle

    欢迎 点赞✍评论⭐收藏 前言 在WinForm中,Rectangle是一个表示矩形的类,它包含了多个属性和方法,下面是一些常用的属性和方法介绍: 属性: X:获取或设置矩形左上角的 X 坐标。...方法: Contains(Point):判断一个点是否在矩形中。 Contains(Rectangle):判断一个矩形是否被包含在另一个矩形中。...示例: 这些静态方法允许您在处理矩形时执行常见的操作,如检测包含关系、计算交集和并集以及创建矩形。它们在图形处理和布局管理中非常有用。...我们创建了一个名为ColoredRoundedRectButton的自定义控件,它绘制了一个圆角彩色矩形按钮,并支持点击事件。...然后,在MainForm中创建了一个窗体,将这个自定义按钮添加到窗体上,并订阅了按钮的Click事件。当按钮被点击时,会弹出一个消息框。你可以根据你的需求进一步自定义按钮的外观和功能。

    24811

    SSD(单次多盒检测)用于实时物体检测

    R-CNN 的输出是具有矩形框和分类的图像,矩形框围绕着图像中的对象。...为了训练我们的算法,我们需要一个包含带有对象的图像的训练集,这些对象必须在它们上面有边界框。 通过这种方式学习,算法学习如何在对象上放置矩形框以及放置在何处。...然后我们围绕这些网格制作几个不同宽高比的矩形框。 我们在这些框中应用卷积来研究这些网格中是否存在对象。这里的一匹黑马在图像中更靠近摄像头。...因此,我们绘制的边界框无法识别是否是马,因为边界框没有任何可以识别马匹的特征。 ? 如果我们看上述 SSD 的架构,我们可以看到在 conv6 层之后的每个步骤中图像的大小在显著减小。...SSD 算法还知道如何从一个卷积操作返回到另一个卷积操作。 它不仅会前向运算而且会后向运算。 例如,如果它在 conv4 中看到马,那么它可以返回到 conv6 并且将在马周围绘制矩形框。

    1.5K20

    使用OpenCV测量图像中物体之间的距离

    然后,我们初始化用于绘制距离的colors列表以及refObj变量,该变量将存储参考对象的边界框、质心和pixels-per-metric值(看上一篇就明白pixels-per-metric的具体定义,...第14行上调用order_points函数(此系列第一篇定义的函数)来对矩形框四个顶点以左上角、右上角、右下角和左下角的顺序排列,我们将看到,在计算物体之间的距离时,这一点非常重要。...第16行和第17行通过取边界框在x和y方向上的平均值来计算旋转后的边界框的中心(x, y)坐标。...我们首先获取(排序后的)最小旋转边界框坐标,并分别计算四个顶点之间的中点(第10-15行)。 然后计算中点之间的欧氏距离,给出我们的“像素/尺寸”比例,来确定一英寸为多少像素宽度。...下一个代码块负责绘制参考对象和当前检查对象的轮廓,然后定义变量refCoords和objCoords,这样(1)最小包围矩阵坐标和(2)质心的(x, y)坐标都包含在同一个数组中: # draw the

    5K40

    VC++中使用OpenCV绘制直线、矩形、圆和文字

    VC++中使用OpenCV绘制直线、矩形、圆和文字 在VC++中使用OpenCV绘制直线、矩形、圆和文字非常简单,分别使用OpenCV中的line、rectangle、circle、putText这四个函数即可...具体可以参考OpenCV官方文档:https://docs.opencv.org/4.x/index.html 下面的代码展示了在VC++中如何使用OpenCV绘制直线、矩形、圆和文字 #include...(0,0)和右下角(250,350)处绘制一个红色矩形,边界线条厚度为2 cv::rectangle(img, cv::Point(0, 0), cv::Point(250, 350), cv::Scalar...(0, 0, 255), 2); // 以(400,50)为中心,绘制半径为30的圆,颜色为青色(绿+蓝=青(Cyan)) cv::circle(img, cv::Point(400, 50), 30...| Including 3xProjects | Computer Vision Learn-OpenCV-in-3-hours OpenCV官网 Python中使用Opencv-python库绘制直线

    70200

    使用OpenCV测量图像中物体之间的距离

    然后,我们初始化用于绘制距离的colors列表以及refObj变量,该变量将存储参考对象的边界框、质心和pixels-per-metric值(看上一篇就明白pixels-per-metric的具体定义,...第14行上调用order_points函数(此系列第一篇定义的函数)来对矩形框四个顶点以左上角、右上角、右下角和左下角的顺序排列,我们将看到,在计算物体之间的距离时,这一点非常重要。...第16行和第17行通过取边界框在x和y方向上的平均值来计算旋转后的边界框的中心(x, y)坐标。...我们首先获取(排序后的)最小旋转边界框坐标,并分别计算四个顶点之间的中点(第10-15行)。 然后计算中点之间的欧氏距离,给出我们的“像素/尺寸”比例,来确定一英寸为多少像素宽度。...下一个代码块负责绘制参考对象和当前检查对象的轮廓,然后定义变量refCoords和objCoords,这样(1)最小包围矩阵坐标和(2)质心的(x, y)坐标都包含在同一个数组中: # draw the

    2K30

    C#中使用OpenCvSharp4绘制直线、矩形、圆、文本

    C#中使用OpenCvSharp4绘制直线、矩形、圆、文本 继之前的Python中使用Opencv-python库绘制直线、矩形、圆、文本和VC++中使用OpenCV绘制直线、矩形、圆和文字,将之前的Python...和C++示例代码翻译成C#语言,很简单,还是借用OpenCvSharp4库中的Line、Rectangle、Circle、PutText,值得一提的是https://github.com/opencv/...opencv以及OpenCvSharp4库和Opencv-python的函数基本相同。...Windows下安装OpenCvSharp4库的描述,如下图所示: 二、C#中使用OpenCvSharp4绘制直线、矩形、圆、文本 1、使用VS2022创建一个C# .Net控制台程序,项目命名为OpenCVExample...(0,0)和右下角(250,350)处绘制一个红色矩形,边界线条厚度为2 Cv2.Rectangle(img, new Point(0, 0), new Point(250, 350

    1K00

    二.OpenCV和Numpy读取修改像素、几何图形绘制

    表示边框的粗细 – lineType表示线条的类型 – shift表示点坐标中的小数位数 下面的代码是绘制一个矩形,通过np.zeros()创建一幅黑色图像,接着调用cv2.rectangle()绘制矩形...表示圆轮廓的厚度;负厚度表示要绘制一个填充圆 – lineType表示圆的边界类型 – shift表示中心坐标和半径值中的小数位数 下面的代码是绘制一个圆形。...cv2.circle(img, (100,100), 50, (255,255,0), -1) ---- 4.绘制椭圆 在OpenCV中,绘制椭圆比较复杂,要多输入几个参数,如中心点的位置坐标,长轴和短轴的长度...表示圆弧终结角的角度(逆时针旋转) – color表示线条的颜色 – thickness如果为正值,表示椭圆轮廓的厚度;负值表示要绘制一个填充椭圆 – lineType表示圆的边界类型 – shift表示中心坐标和轴值中的小数位数...表示绘制的多边形是否闭合,False表示不闭合 – color表示线条的颜色 – thickness表示线条粗细 – lineType表示边界类型 – shift表示顶点坐标中的小数位数 下面是绘制一个多边形的代码

    2.4K20

    使用Python和OpenCV顺时针排序坐标

    前言 本文我认为我翻译的并不太成功,因为原文光头哥就写的很啰嗦,大概理顺一下思路就是: 光头哥想写一个把识别物体用矩形框起来,并将矩形四个顶点按左上,右上,右下,左下的顺序来排列,他之前写了一个排序算法...下面是正文: 今天,我们将开始一个系列的第一篇,这个系列为计算对象的大小,并测量它们之间的距离,一共三篇。 而在这之前,首先需要实现一个对四个顶点进行的排序算法。...这篇博文的主要目的是学习如何按左上、右上、右下和左下顺序排列矩形四个顶点。按照这样的顺序排列顶点是执行诸如透视变换或匹配对象角点(例如计算对象之间的距离)等操作的先决条件。...最后,第26行返回一个NumPy数组,表示按左上角、右上角、右下角和左下角顺序排列的有序边界框坐标。...如果——new标识符已经传递给函数,那么我们将应用更新后的order_points函数(第8和9行)。 就像我们将原始的边界框打印到控制台一样,我们也将打印有序的点,以确保函数正常工作。

    1.8K20
    领券