函数approxPolyDP返回一个近似的多边形曲线,该曲线与原始曲线之间的最大距离不超过指定的精度。返回的值是一个近似多边形的顶点坐标数组,可以存储在一个变量中,如下所示:

import cv2

# 读取图像
image = cv2.imread('image.jpg')

# 将图像转换为灰度图像
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

# 二值化图像
ret, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)

# 寻找轮廓
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)

# 对每个轮廓进行多边形逼近
for contour in contours:
    # 进行多边形逼近
    epsilon = 0.1 * cv2.arcLength(contour, True)
    approx = cv2.approxPolyDP(contour, epsilon, True)
    
    # 存储多边形顶点坐标
    vertices = approx.tolist()
    print(vertices)

在这个例子中,approxPolyDP函数对每个轮廓进行多边形逼近,并将近似多边形的顶点坐标存储在vertices变量中。

OpenCV approxPolyDP 函数:返回值与存储方法

原文地址: https://www.cveoy.top/t/topic/fLoh 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录