Python Opencv实践 - 矩形轮廓绘制(直边矩形,最小外接矩形)

这篇具有很好参考价值的文章主要介绍了Python Opencv实践 - 矩形轮廓绘制(直边矩形,最小外接矩形)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt

img = cv.imread("../SampleImages/stars.png")
plt.imshow(img[:,:,::-1])

img_gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
#通过cv.threshold转换为二值图
ret,thresh = cv.threshold(img_gray, 127, 255, 0)
plt.imshow(thresh, cmap=plt.cm.gray)

#轮廓检测
contours,hierarchy = cv.findContours(thresh, 1, 2)
#绘制轮廓
img_contours_org = img.copy()
img_contours_org = cv.drawContours(img_contours_org, contours, -1, (0,255,0), 2)
plt.imshow(img_contours_org[:,:,::-1])

img_rect_contour = img.copy()
for contour in contours:
    #1. 绘制直边界矩形
    #x,y,w,h = cv.boundingRect(contour)
    #contour: 轮廓信息
    #x,y,w,h: 矩形左上角(x,y)坐标,以及矩形的宽度和高度
    #参考资料:https://blog.csdn.net/hjxu2016/article/details/77833984
    x,y,w,h = cv.boundingRect(contour)
    img_rect_contour = cv.rectangle(img_rect_contour, (x,y), (x+w,y+h), (0,255,0), 2)
    #2. 绘制旋边界矩形结果
    #rect = cv.minAreaRect(contour)
    #contour:轮廓信息
    #rect: 最小外接矩阵的信息(中心(x,y),(w,h),旋转角度)
    #参考资料:https://blog.csdn.net/lanyuelvyun/article/details/76614872
    rect = cv.minAreaRect(contour)
    #使用boxPoints获得最小外接矩阵的4个顶点坐标
    box = cv.boxPoints(rect)
    #转换为int类型
    box = np.intp(box)
    #使用cv.polylines绘制外接矩形
    cv.polylines(img_rect_contour, [box], True, (0,0,255), 2)

plt.imshow(img_rect_contour[:,:,::-1])

Python Opencv实践 - 矩形轮廓绘制(直边矩形,最小外接矩形),OpenCV实践-python,python,opencv,开发语言,计算机视觉,图像处理

Python Opencv实践 - 矩形轮廓绘制(直边矩形,最小外接矩形),OpenCV实践-python,python,opencv,开发语言,计算机视觉,图像处理

Python Opencv实践 - 矩形轮廓绘制(直边矩形,最小外接矩形),OpenCV实践-python,python,opencv,开发语言,计算机视觉,图像处理

Python Opencv实践 - 矩形轮廓绘制(直边矩形,最小外接矩形),OpenCV实践-python,python,opencv,开发语言,计算机视觉,图像处理

Python Opencv实践 - 矩形轮廓绘制(直边矩形,最小外接矩形),OpenCV实践-python,python,opencv,开发语言,计算机视觉,图像处理 文章来源地址https://www.toymoban.com/news/detail-691897.html

到了这里,关于Python Opencv实践 - 矩形轮廓绘制(直边矩形,最小外接矩形)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【Python】【OpenCV】绘制外接矩形、外接圆

     外接矩形、外接圆:   1、cv2.boundingRect() Method 和 cv2.minAreaRect() Merhod:前者只寻找和 x、y轴 平行的矩形,后者则可以出现旋转角度。 2、cv2.drawContours() Method:第二个参数接收的是轮廓信息,但是这个轮廓信息需要以 tuple or list or set类型(或者说是iterable)才可以传入。 请注

    2024年02月05日
    浏览(42)
  • OpenCV——最小外接矩形

      emspminAreaRect 函数用于计算给定点集的最小外接矩形。该矩形的长和宽是可以任意旋转的,因此被称为旋转矩形。 points :是一个包含点集的 Mat 对象。点集可以是二维点集或三维点集,但是只有前两个坐标被使用。返回值是一个 RotatedRect 对象,表示最小外接矩形。 该函数

    2024年02月05日
    浏览(54)
  • OPENCV C++(七)霍夫线检测+找出轮廓和外接矩形+改进旋转

    霍夫线检测  定义存放输出线的向量 此向量输出有距离,角度 因为检测的原理就是在变换霍夫空间里面去检测的,这里可以理解为极坐标 第3个参数是距离精度 第四个参数是角度精度,第五个是阈值,只有点超过90个才算一条线 在图中画线操作: 这里是画线操作  概率霍夫

    2024年02月13日
    浏览(50)
  • 【OpenCV常用函数:轮廓检测+外接矩形检测】cv2.findContours()+cv2.boundingRect()

    对具有黑色背景的二值图像寻找白色区域的轮廓,因此一般都会先经过cvtColor()灰度化和threshold()二值化后的图像作为输入。 例如,如下的轮廓检测出的结果contours和hierarchy。 根据轮廓点检测对应轮廓的外接矩形

    2024年02月13日
    浏览(58)
  • 计算点集的最小外接矩形——OpenCV的minAreaRect函数

    输入一系列二维点,返回其最小外接矩形。 根据函数原型,输入的数据可以是 vectorPoint 类型,包含1个以上的点; 返回值是 RotatedRect 类型,该类型的定义如下: 对于用户而言,最重要的是三个属性: center 、 size 、 angle 。其中 size 和 angle 需要着重介绍一下: RotatedRect的si

    2024年04月14日
    浏览(50)
  • 【opencv】示例-minarea.cpp 如何寻找一组随机生成的点的最小外接矩形、三角形和圆...

    此段代码的主要功能是:利用OpenCV库生成随机点集,并计算并展示这些点的最小外包矩形、三角形和圆形。用户可以通过按键重新生成不同的随机点集,或者按ESC/Q退出程序。程序中利用了OpenCV的随机数生成函数、绘图函数以及几何形状的计算函数。

    2024年04月14日
    浏览(57)
  • Halcon画矩形框(正矩形和最小外接矩形)

    1.正矩形框 正矩形框,指的是没有发生倾斜,竖直的矩形框。 该矩形框,不仅能够完全覆盖region区域,而且还不发生倾斜,可以用在一些特定的瑕疵标定。 具体代码如下: 其中,smallest_rectangle1 算子的作用是,获取region的最小外接正矩形。输出Row1(左上y坐标),Column1(左

    2024年02月11日
    浏览(63)
  • OpenCV-Python(21):OPenCV查找及绘制轮廓

    1.1 目标 理解什么是轮廓 学习掌握找轮廓、绘制轮廓等 学习使用cv2.findContours()、cv2.drawContours()函数的用法 1.2 什么是轮廓         在OpenCV中,轮廓是 图像中连续的边界线的曲线,具有相同的颜色或者灰度,用于表示物体的形状 。轮廓在图像处理和计算机视觉中非常重要

    2024年01月18日
    浏览(46)
  • 使用openCV python绘制实心旋转的矩形

    ​ 看方法直接看最下边 看方法直接看最下边 看方法直接看最下边 一、通过中心点、宽高、角度得到四个顶点的公式网上都有,最后输出四个顶点的x和y坐标。 二、绘制实心矩形 关于怎么绘制实心矩形,因为openCV本身的cv2.rectangle只能绘制角度为0的矩形,没办法用,所以一开

    2024年02月09日
    浏览(44)
  • python opencv 绘制矩形、圆、线、多边形

    👨‍💻 个人简介: 深度学习图像领域工作者 🎉 总结链接:              链接中主要是个人工作的总结,每个链接都是一些常用demo,代码直接复制运行即可。包括:                     📌 1.工作中常用深度学习脚本                     📌 2.to

    2024年02月03日
    浏览(124)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包