opencv的approxPolyDP函数

cv2.approxPolyDP() 是 OpenCV 库中的一个函数,用于逼近多边形曲线。它可以将一条曲线用更少的点来表示,同时尽可能地保持其形状。
原来是使用Douglas-Peucker算法,表示曲线上的点与逼近后的多边形之间的最大距离d,若d小于epsilon,则滤掉,否则保留。
image.png
函数原型:

cv2.approxPolyDP(curve, epsilon, closed)

参数:

  • curve:要逼近的曲线,可以是 2D 点的列表或 NumPy 数组。
  • epsilon:逼近精度。它是一个距离值,表示曲线上的点与逼近后的多边形之间的最大距离。值越小,逼近越精确,但点数也可能越多。
  • closed:一个布尔值,指示曲线是否闭合。如果为 True,则函数将闭合曲线。

返回值:
函数返回一个逼近后的多边形,表示为 2D 点的列表或 NumPy 数组。
示例:

import cv2

# 加载图像并提取轮廓
image = cv2.imread("image.png")
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
_, contours, _ = cv2.findContours(gray, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

# 逼近第一个轮廓
contour = contours[0]
epsilon = 0.01 * cv2.arcLength(contour, True)      # 计算周长 * 0.01, 0.01是一个系数,可以调整
approx = cv2.approxPolyDP(contour, epsilon, True)

# 绘制逼近后的多边形
cv2.drawContours(image, [approx], 0, (0, 255, 0), 2)

# 显示结果
cv2.imshow("Image", image)
cv2.waitKey(0)

注意:

  • epsilon 值的选择是一个权衡,需要根据具体应用进行调整。
  • 对于闭合曲线,closed 参数应设置为 True。
  • cv2.approxPolyDP() 函数通常与 cv2.findContours() 函数一起使用,用于提取图像中的形状。

相关推荐

  1. opencv几个重要函数

    2024-03-14 05:16:06       56 阅读
  2. opencv高斯滤波函数

    2024-03-14 05:16:06       38 阅读
  3. C#中使用OpenCV常用函数

    2024-03-14 05:16:06       58 阅读
  4. 如何使用CMake查看opencv封装好函数

    2024-03-14 05:16:06       79 阅读
  5. 介绍一下OpenCV中常用图像处理函数

    2024-03-14 05:16:06       46 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-14 05:16:06       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-14 05:16:06       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-14 05:16:06       87 阅读
  4. Python语言-面向对象

    2024-03-14 05:16:06       96 阅读

热门阅读

  1. Oracle DBMS_LOCK

    2024-03-14 05:16:06       31 阅读
  2. zabbix-server-pgsql docker镜像备忘

    2024-03-14 05:16:06       34 阅读
  3. 不同数据库中sql如何添加数据

    2024-03-14 05:16:06       43 阅读
  4. MySQL学习记录

    2024-03-14 05:16:06       45 阅读
  5. Vim 编辑器|批量注释与批量取消注释

    2024-03-14 05:16:06       41 阅读
  6. 阿里云国际版源站IP暴露的解决办法

    2024-03-14 05:16:06       47 阅读
  7. Linux-轻量级数据库sqlite-015

    2024-03-14 05:16:06       40 阅读
  8. 网站服务器PHP页面打开速度慢怎么办?

    2024-03-14 05:16:06       38 阅读
  9. 【NLP笔记】文本分词、清洗和标准化

    2024-03-14 05:16:06       44 阅读
  10. 自动驾驶技术

    2024-03-14 05:16:06       51 阅读
  11. GPT-3.5发布:大型语言模型的进化与挑战

    2024-03-14 05:16:06       42 阅读
  12. AI大语言模型GPT & R 生态环境领域数据统计分析

    2024-03-14 05:16:06       38 阅读
  13. 加速 PyTorch 模型预测常见方法梳理

    2024-03-14 05:16:06       40 阅读