cv2.approxPolyDP() , cv2.arcLength() 这些是如何工作的

这些功能如何工作?我正在使用 Python3.7 和 OpenCv 4.2.0。提前致谢。

approx = cv2.approxPolyDP(cnt, 0.01*cv2.arcLength(cnt, True), True)


qq_笑_17
浏览 267回答 1
1回答

慕田峪7331174

如果您正在寻找一个示例片段,下面是一个:import cv2import imutils# edged is the edge detected imagecnts = cv2.findContours(edged, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)cnts = imutils.grab_contours(cnts)cnts = sorted(cnts, key = cv2.contourArea, reverse = True)[:5]# loop over the contoursfor c in cnts:    # approximate the contour    peri = cv2.arcLength(c, True)    approx = cv2.approxPolyDP(c, 0.02 * peri, True)    # if our approximated contour has four points, then we    # can assume that we have found our screen    if len(approx) == 4:        screenCnt = approx        break在上面的代码片段中,首先它从检测到边缘的图像中找到轮廓,然后对轮廓进行排序以找到五个最大的轮廓。最后它遍历轮廓并使用cv2.approxPolyDP函数来平滑和近似四边形。cv2.approxPolyDP适用于文档边界等轮廓中有锐边的情况。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python