python opencv 绘制矩形、圆、线、多边形

这篇具有很好参考价值的文章主要介绍了python opencv 绘制矩形、圆、线、多边形。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

👨‍💻个人简介: 深度学习图像领域工作者
🎉总结链接:
             链接中主要是个人工作的总结,每个链接都是一些常用demo,代码直接复制运行即可。包括:
                    📌1.工作中常用深度学习脚本
                    📌2.torch、numpy等常用函数详解
                    📌3.opencv 图片、视频等操作
                    📌4.个人工作中的项目总结(纯干活)
              链接: https://blog.csdn.net/qq_28949847/article/details/128552785
🎉视频讲解: 以上记录,通过B站等平台进行了视频讲解使用,可搜索 ‘Python图像识别’ 进行观看
              B站:Python图像识别
              抖音:Python图像识别
              西瓜视频:Python图像识别


1. cv2.rectangle 绘制矩形

cv2.rectangle()函数是OpenCV中用于在图像上绘制矩形的函数。其语法如下:

cv2.rectangle(img, pt1, pt2, color, thickness=None, lineType=None, shift=None)

参数说明:

  • img:输入的图像矩阵;
  • pt1:矩形的左上角顶点坐标,类型为(x,y);
  • pt2:矩形的右下角顶点坐标,类型为(x,y);
  • color:矩形的颜色,可以是RGB元组或灰度值;
  • thickness:可选参数,指定矩形边框的宽度,默认为1,-1 为实心矩形
  • lineType:可选参数,指定矩形边框的类型,默认为8;
  • shift:可选参数,指定坐标点小数位数,默认为0。

下面是一个例子:

import cv2
import numpy as np

# 创建一个黑色的图像
img = np.zeros((512, 512, 3), np.uint8)

# 在图像上绘制一个红色矩形
cv2.rectangle(img, (100, 100), (300, 300), (0, 0, 255), 3)

# 显示图像
cv2.imshow("rectangle", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

示例效果:
python opencv 绘制矩形、圆、线、多边形

2. cv2.circle() 绘制圆

cv2.circle()函数是OpenCV中用于在图像上绘制圆形的函数。其语法如下:

cv2.circle(img, center, radius, color, thickness=None, lineType=None, shift=None)

参数说明:

  • img:输入的图像矩阵;
  • center:圆心的坐标,类型为(x,y);
  • radius:圆的半径;
  • color:圆的颜色,可以是RGB元组或灰度值;
  • thickness:可选参数,指定圆边框的宽度,默认为1,-1为实心
  • lineType:可选参数,指定圆边框的类型,默认为8;
  • shift:可选参数,指定坐标点小数位数,默认为0。

下面是一个例子:

import cv2
import numpy as np

# 创建一个黑色的图像
img = np.zeros((512, 512, 3), np.uint8)

# 在图像上绘制一个半径为100的蓝色圆
cv2.circle(img, (256, 256), 100, (255, 0, 0), 3)

# 显示图像
cv2.imshow("circle", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

示例效果:
python opencv 绘制矩形、圆、线、多边形

3. cv2.polylines() 绘制多边形

在OpenCV中,绘制多边形的函数为cv2.polylines(),该函数的调用格式如下:

cv2.polylines(img, pts, isClosed, color[, thickness[, lineType[, shift]]])

其中,各参数的含义如下:

  • img:要绘制多边形的图像。
  • pts:要绘制的多边形的顶点坐标,类型为numpy.ndarray,其形状**(n,1,2),其中n为多边形的边数,2表示每个点有x和y两个坐标。**
  • isClosed:表示多边形是否封闭,如果为True,则表示多边形是封闭的,会从最后一个点连线到第一个点。
  • color:多边形的颜色,为一个(B,G,R)格式的元组或一个标量。
  • thickness:线条的粗细,默认值为1。
  • lineType:线条的类型,默认值为cv2.LINE_8。
  • shift:坐标点小数位数的位数。

下面是一个绘制多边形的示例代码:

import numpy as np
import cv2

# 创建一张黑色背景图像
img = np.zeros((512, 512, 3), dtype=np.uint8)

# 定义多边形的顶点坐标
pts = np.array([[100, 100], [200, 400], [400, 400], [400, 100]], np.int32)

# 将多边形的顶点坐标转换为需要的格式
pts = pts.reshape((-1, 1, 2))

# 绘制多边形
cv2.polylines(img, [pts], True, (0, 255, 0), thickness=2)

# 显示结果
cv2.imshow('Polygon', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

需要注意的是,在使用cv2.polylines()函数绘制多边形时,要注意坐标的格式和维度,否则会出现绘制失败或者图像错位的情况。同时,可以通过调整线条的粗细、颜色等参数来实现不同的效果。

绘制效果:
python opencv 绘制矩形、圆、线、多边形

4. cv2.line() 绘制线

cv2.line()函数是OpenCV中用于在图像上绘制直线的函数。其语法如下:

cv2.line(img, pt1, pt2, color, thickness=None, lineType=None, shift=None)

参数说明:

  • img:输入的图像矩阵;
  • pt1:直线的起点坐标,类型为(x,y);
  • pt2:直线的终点坐标,类型为(x,y);
  • color:直线的颜色,可以是RGB元组或灰度值;
  • thickness:可选参数,指定直线的宽度,默认为1;
  • lineType:可选参数,指定直线的类型,默认为8;
  • shift:可选参数,指定坐标点小数位数,默认为0。

下面是一个例子:

import cv2
import numpy as np

# 创建一个黑色的图像
img = np.zeros((512, 512, 3), np.uint8)

# 在图像上绘制一条红色直线
cv2.line(img, (0, 0), (511, 511), (0, 0, 255), 5)

# 显示图像
cv2.imshow("line", img)
cv2.waitKey(0)
cv2.destroyAllWindows()

示例效果:
python opencv 绘制矩形、圆、线、多边形文章来源地址https://www.toymoban.com/news/detail-434888.html

到了这里,关于python opencv 绘制矩形、圆、线、多边形的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • opencv 之 外接多边形(矩形、圆、三角形、椭圆、多边形)使用详解

    本文主要讲述opencv中的外接多边形的使用: 多边形近似 外接矩形、最小外接矩形 最小外接圆 外接三角形 椭圆拟合 凸包 将重点讲述最小外接矩形的使用 给一个opencv官方的例程: 过程图像如下: 椭圆拟合一般用于轮廓提取之后: 凸包绘制 计算两个旋转矩形交集: C++版的最

    2024年02月09日
    浏览(86)
  • cesium学习记录08-鼠标绘制实体(点,线,矩形,圆,多边形)

    上一篇学习了创建实体的一些基础知识,但有时还需要我们使用鼠标进行手动绘制,这一篇就来进行鼠标绘制实体的实现(点,线,矩形,圆,多边形)。 (这里需要掌握三个知识点,一是上一篇中的创建实体、二是鼠标事件、三是回调函数) 既然是鼠标绘制,自然离不开

    2024年02月12日
    浏览(58)
  • OpenCV(10): 轮廓近似—多边形拟合,边界矩形与边界圆形

    轮廓近似(Contour Approximation)是指对轮廓进行逼近或拟合,得到近似的轮廓。在图像处理中,轮廓表示了图像中物体的边界,因此轮廓近似可以用来描述和识别物体的形状。 多边形拟合(Approximating Polygons)是将轮廓逼近成一个由直线段构成的多边形。常见的有最小包围矩形

    2024年02月10日
    浏览(45)
  • 使用c#实现一个简单绘图软件(绘制矩形、多边形,画笔、橡皮擦功能)的完整教程

    c#是微软提供的用于开发windows软件的开发语言,可以使用其快速的实现windows桌面软件的开发。这里基于C#开发了一款简单的绘图软件,可以用于绘制矩形、多边形的绘制(基于这些可以实现自己的数据标注软件),还实现了画笔、橡皮擦功能。开发C#软件通常使用Visual Studio软

    2024年02月03日
    浏览(59)
  • 基于C++ 的OpenCV绘制多边形,多边形多条边用不用的颜色绘制

    使用基于C++的OpenCV库来绘制多边形,并且为多边形的不同边使用不同的颜色,可以按照以下步骤进行操作: 首先,确保你已经安装了OpenCV库并配置好了你的开发环境。 导入必要的头文件: 创建一个空白的图像,然后绘制多边形,并为每条边选择不同的颜色: 在这个示例中,

    2024年02月13日
    浏览(52)
  • OpenCV(三十四):轮廓外接最大、最小矩形和多边形拟合

    目录 1.轮廓外接最大矩形boundingRect() 2.轮廓外接最小矩形minAreaRect() 3.轮廓外接多边形approxPolyDP() 1.轮廓外接最大矩形boundingRect() Rect cv::boundingRect ( InputArray array ) array:输入的灰度图像或者2D点集,数据类型为vectorPoint或者Mat。 示例代码:  轮廓外接最大矩形的结果: 2.轮廓外接

    2024年02月09日
    浏览(63)
  • OpenCV-Python学习(13)—— OpenCV 多边形填充与绘制(cv.fillPoly、cv.polylines)

    1. 知识点 学习 cv.polylines 函数的使用; 学习 cv.fillPoly 函数的使用。 2. 绘制折线或多边形 cv.polylines 函数说明 2.1 函数使用 2.2 参数说明 参数 说明 img 表示要在其上绘制矩形的图像的img对象。 pts 表示一个或多个点集。 isClosed 表示标志,决定所绘制的多边形是否闭合。若为 T

    2024年02月16日
    浏览(54)
  • 使用OpenCV的函数polylines()绘制多条相连的线段和多边形;使用函数fillPoly()绘制带填充效果的多边形

    函数polylines()可用来根据点集绘制多条相连的线段,也可用来绘制多边形。 函数polylines()有两种原型,这里只向大家介绍比较常用的那种原型。 函数polylines()的C++原型如下: 函数polylines()的Python原型如下: 函数polylines()的参数意义如下: img—绘制的多条相连线段或多边形所在

    2024年02月04日
    浏览(63)
  • 利用fabric绘画矩形和多边形

    需求在一张图片上标注矩形和多边形,支持回显; fabric版本:4.6.0; Fabric.js 是一个功能强大且操作简单的 Javascript HTML5 canvas 工具库。 官方文档 参考链接 组件代码drawer.vue createUuid 是为了让每一个图形有自己的id;方便用于获取用户点击的那个图形等操作; defaultRectStyle、d

    2024年02月08日
    浏览(67)
  • cv2.polylines、cv2.fillPoly 和 多边形绘制分割结果Python函数(一)

    如果只是想撸代码,直接看下一篇: https://blog.csdn.net/HaoZiHuang/article/details/127027469 先来铺垫几个用到的函数 cv2.polylines 、 cv2.fillPoly 以下内容部分摘自: http://www.juzicode.com/opencv-python-polylines-puttext 先看一下代码吧: cv2.polylines 的参数: 绘制的画板图 绘制的多边形列表 是否闭合

    2024年02月04日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包