approx = cv2.approxPolyDP(contour, 0.04 * cv2.arcLength(contour, True), True) error: /build/opencv-L2vuMj/opencv-3.2.0+dfsg/modules/imgproc/src/shapedescr.cpp:285: error: (-215) count >= 0 && (depth == CV_32F || depth == CV_32S) in function arcLength
时间: 2024-02-03 09:02:04 浏览: 134
object-detection-using-opencv-python:在OpenCV Python 2中使用轮廓检测来检测对象的形状,大小和颜色
这个错误是由OpenCV引起的,它表示在计算轮廓长度时出现了问题。具体来说,这个错误可能是由于以下原因之一导致的:
1. `contour` 参数传递了一个无效的轮廓。请确保 `contour` 是一个有效的轮廓对象。
2. `contour` 参数可能是空的,没有找到任何轮廓。在调用 `approxPolyDP` 函数之前,确保已经成功找到了有效的轮廓。
3. `arcLength` 函数中的 `count` 参数的值小于零,这可能是由于 `contour` 的类型或深度不正确导致的。确保 `contour` 的类型是 `CV_32F` 或 `CV_32S`。
请检查你的代码,确保传递给 `approxPolyDP` 和 `arcLength` 函数的参数是正确的,并且轮廓对象是有效的。如果问题仍然存在,请提供更多的代码片段以便我能够更好地帮助你解决问题。
阅读全文