cv2.approxPolyDP()函数的输出,为近似多边形的顶点坐标

这篇具有很好参考价值的文章主要介绍了cv2.approxPolyDP()函数的输出,为近似多边形的顶点坐标。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

原始图像为

cv2.approxpolydp(),计算机视觉,opencv,python

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

def cv_show(name, img):
    cv2.imshow(name, img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()


# 读取图像
img = cv2.imread('contours.png')
cv_show('contours', img)

# 灰度化和二值化
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)[1]
cv_show('thresh', thresh)

# 寻找轮廓
cnt = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_NONE)[1]

经过轮廓检测,输出的Value值为cnt,类型为list,元素个数为11,即包含11个轮廓

cv2.approxpolydp(),计算机视觉,opencv,python

 c0为在cnt中索引为0,代表第一轮廓,即三角形轮廓

c0 = cnt[0]
res = cv2.drawContours(draw, [c0], -1, (0, 0, 255), 2)
cv_show('res', res)

cv2.approxpolydp(),计算机视觉,opencv,python

 文章来源地址https://www.toymoban.com/news/detail-617918.html

cv2.approxpolydp(),计算机视觉,opencv,python

 下面进行轮廓近似

epsilon = 0.1 * cv2.arcLength(c0, True)
approx = cv2.approxPolyDP(c0, epsilon, True)
draw_img = img.copy()
res = cv2.drawContours(draw_img, [approx], -1, (0, 0, 255), 2)
cv_show('res', res)

cv2.apaproxPloyDP函数输出的approx,元素个数为3,即三角形三个顶点

cv2.approxpolydp(),计算机视觉,opencv,python

cv2.approxpolydp(),计算机视觉,opencv,python 

 

到了这里,关于cv2.approxPolyDP()函数的输出,为近似多边形的顶点坐标的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • OpenCV(10): 轮廓近似—多边形拟合,边界矩形与边界圆形

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

    2024年02月10日
    浏览(45)
  • 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)
  • [C++] opencv - fillPoly(填充多边形)函数介绍和使用场景

    fillPoly() 函数是OpenCV中用于绘制填充多边形的函数。函数原型如下: fillPoly() 函数适用于需要绘制填充多边形的场景,例如在图像上绘制一个封闭的图形、制作一个简单的遮罩等。   fillPoly() 函数是OpenCV中用于绘制填充多边形的函数。可以用来绘制实心三角形,实心矩形,实

    2024年02月19日
    浏览(114)
  • 如何判断两个多边形是否相交?——多边形相交判定算法详解

    如何判断两个多边形是否相交?——多边形相交判定算法详解 在计算机图形学中,判断两个多边形是否相交是一项很重要的任务。这涉及到各种应用场景,如碰撞检测、模拟物理效果等。在本篇文章中,我们将会介绍多边形相交判定算法的相关知识和实现方式。 首先,我们

    2024年02月14日
    浏览(62)
  • opencv 之 外接多边形(矩形、圆、三角形、椭圆、多边形)使用详解

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

    2024年02月09日
    浏览(87)
  • 3DS MAX三维建模平面基础与初级多边形(可编辑多边形的讲解)

            3DS MAX三维建模平面基础与初级多边形(可编辑多边形的讲解)         欢迎大家来学习3DS MAX教程,在这里先说一下研究好3ds Max一定要一边看教程一边要自己学的操作才能更快的进步,预祝大家学习顺利。         这篇是第四篇关于3ds Max的文章了,基于上一

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

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

    2024年02月13日
    浏览(52)
  • 计算两个多边形的交集

    已知两个多边形Polygon1和Polygon2,分别由点集C1={P1,P2,...,Pm}和C2={Q1,Q2,...,Qn}表示,求这两个多边形的交集。 两个多边形相交后,其顶点要么是两个多边形边的交点,要么是在多边形内部的点。 计算两个多边形每条边之间的交点。 计算包含在多边形内部的点。 将交点和多边形内

    2024年02月12日
    浏览(66)
  • 多边形边的插值

    算法描述及提问: 给定一个最小长度,对多边形的每一条边不断的对半插值,使得插值后的每一条边都要不大于最小长度。 测试ChatGPT - 中文版 VSCode插件。 显然是错误的。 正确的结果: 使用ChatGPT-中文版 VSCode,基本可以写出一个简单的算法,但是正确与否还需要个人Debug及

    2024年02月12日
    浏览(67)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包