等高线元组的长度必须为2或3,否则opencv将其个人简历再次签名

2024-04-26 20:53:40 发布

您现在位置:Python中文网/ 问答频道 /正文

运行代码后,我得到错误消息:轮廓元组的长度必须为2或3,否则opencv再次更改了它们的返回签名。我目前正在运行opencv的3.4.3.18版本。当我抓住 运行imutils 0.5.2版的等高线

该代码查找计数并返回在进行边缘检测后找到的轮廓。然后该算法使用imutils来获取轮廓。是这个吗 正确的方法还是有什么最新的方法 用轮廓代替imutils?在

请参见以下示例:

image, contours, hier = cv.findContours(edged.copy(), cv.RETR_EXTERNAL, cv.CHAIN_APPROX_SIMPLE)


cnts = imutils.grab_contours(contours)

cnts = sorted(contours, key = cv.contourArea, reverse = True)[:5]

Tags: 方法代码版本消息错误opencvcv边缘
1条回答
网友
1楼 · 发布于 2024-04-26 20:53:40

根据OpenCV版本,findContours()具有不同的返回签名。在

在opencv3.4.X中,^{}返回3项

image, contours, hierarchy = cv.findContours(image, mode, method[, contours[, hierarchy[, offset]]])

在opencv4.1.X中,^{}返回2项

^{pr2}$

要在不使用imutils的情况下手动获取轮廓,可以检查返回的元组中的项目数量

^{3}$

相关问题 更多 >