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)
ret,thresh = cv.threshold(img_gray, 127, 255, 0)
contours,hierarchy = cv.findContours(thresh, cv.RETR_TREE, cv.CHAIN_APPROX_NONE)
#显示轮廓
img_contours = img.copy()
img_contours = cv.drawContours(img_contours, contours, -1, (0,255,0), 2)
plt.imshow(img_contours, cmap=plt.cm.gray)

for contour in contours:
    #轮廓最小外接圆
    #(x,y),radius = cv.minEnclosingCircle(cnt)
    #cnt: 轮廓信息
    #(x,y):最小外接圆的圆心
    #radius: 最小外接圆的半径
    #参考资料:https://geek-docs.com/opencv/python-opencv/t_how-to-find-the-minimum-enclosing-circle-of-an-object-in-opencv-python.html
    (x,y),radius = cv.minEnclosingCircle(contour)
    center = (int(x), int(y))
    radius = int(radius)
    cv.circle(img, center, radius, (0,255,0), 2)
    #椭圆拟合
    #ellips = cv.fitEllipse(cnt)
    #ellipse: 椭圆信息((x,y),(a,b),angle) (x,y)椭圆中心点;(a,b) 椭圆长短轴的直径(注意:非半径);angle中心旋转角度
    #参考资料:https://blog.csdn.net/Other_stone/article/details/111186254?spm=1001.2101.3001.6650.5&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-5-111186254-blog-111409635.235%5Ev38%5Epc_relevant_default_base&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-5-111186254-blog-111409635.235%5Ev38%5Epc_relevant_default_base&utm_relevant_index=10
    ellipse = cv.fitEllipse(contour)
    cv.ellipse(img, ellipse, (0,0,255), 2)

plt.imshow(img[:,:,::-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,开发语言,图像处理,计算机视觉 文章来源地址https://www.toymoban.com/news/detail-705071.html

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

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

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

相关文章

  • 【Python】计算几何:德劳内三角剖分算法 | 利用 scatter 绘制散点图 | 实现外接圆生成 | scipy库的 Dealunay 函数 | 实战: A-B间欧氏距离计算

       猛戳!跟哥们一起玩蛇啊  👉 《一起玩蛇》🐍 💭 写在前面 :本章我们将介绍的是计算机和领域的 Delaunay 三角剖分算法(即德劳内三角剖分),它是一种用于将点集划分成三角形网格的算法。点集的三角剖分属于计算几何学科范畴,对数值分析、有限元分析与图形学

    2024年02月02日
    浏览(32)
  • 【计算几何】Python:德劳内三角剖分算法 | 利用 scatter 绘制散点图 | 实现外接圆生成 | scipy库的 Dealunay 函数 | 实战: A-B间欧氏距离计算

       猛戳!跟哥们一起玩蛇啊  👉 《一起玩蛇》🐍 💭 写在前面 :本章我们将介绍的是计算机和领域的 Delaunay 三角剖分算法(即德劳内三角剖分),它是一种用于将点集划分成三角形网格的算法。点集的三角剖分属于计算几何学科范畴,对数值分析、有限元分析与图形学

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

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

    2024年02月09日
    浏览(28)
  • 【OpenCV-Python】——边缘和轮廓&Laplacian/Sobel/Canny边缘检测&查找/绘制轮廓及轮廓特征&霍夫直线/圆变换

    目录 前言: 1、边缘检测 1.1 Laplacian边缘检测  1.2 Sobel边缘检测  1.3 Canny边缘检测 2、图像轮廓 2.1 查找轮廓  2.2 绘制轮廓 2.3 轮廓特征 3、霍夫变换 3.1 霍夫直线变换  3.2 霍夫圆变换 总结: 图像的边缘是指图像中灰度值急剧变化的位置,边缘检测的目的是为了绘制边缘线条。

    2024年01月23日
    浏览(39)
  • Android OpenCV(三十七):轮廓外接多边形

    参数四:closed,逼近曲线是否闭合的标志,true表示封闭,false,表示不封闭。 该方法使用的是 Douglas-Peucker algorithm(道格拉斯-普克算法) 。 Douglas-Peukcer算法 由D.Douglas和T.Peueker于1973年提出,也称为 拉默-道格拉斯-普克算法 、 迭代适应点算法 、 分裂与合并算法 、 D-P算法

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

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

    2024年02月13日
    浏览(31)
  • OpenCV 入门教程:轮廓特征和轮廓匹配

    轮廓特征和轮廓匹配是图像处理中用于描述和比较轮廓的技术。通过提取轮廓的形状、面积、周长等特征,并进行比较和匹配,我们可以实现目标识别、形状分析等应用。在本文中,我们将以轮廓特征和轮廓匹配为中心,为你介绍使用 OpenCV 进行轮廓处理的基本步骤和实例。

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

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

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

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

    2024年02月13日
    浏览(34)
  • OpenCV:绘制图像中mask的最小外接矩形

    在计算机视觉和图像处理中,我们经常需要计算直线与外接矩形边的交点。这在进行边缘检测、图像分割、目标跟踪等任务时非常有用。本文将介绍如何使用OpenCV和NumPy计算直线与外接矩形边的交点,并展示如何在实际图像中绘制直线。 使用OpenCV的findContours函数寻找图像中的

    2024年01月24日
    浏览(34)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包