【发布时间】:2023-04-03 18:57:01
【问题描述】:
我的代码有问题,找不到合适的解决方案。我正在使用 Python 2.7.10 和 OpenCV 3.0。我阅读了两张图片,并希望将其中一张图片(模板)与另一张图片的轮廓相匹配,但出现以下错误:
error: (-215) count >= 0 && (depth == CV_32F || depth == CV_32S) in function cv::arcLength
我的代码如下所示:
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
gray = cv2.bilateralFilter(gray, 11, 10, 17)
edges = cv2.Canny(gray, 100, 20)
contours,hierarchy, _ = cv2.findContours(gray, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
for c in contours:
ret = cv2.matchShapes(c, compare, 1, 0.0)
if ret < 0.5:
peri = cv2.arcLength(c, True)
approx = cv2.approxPolyDP(c, 0.02 * peri, True)
灰度图和对比图都是灰度图。错误显然是说我需要我的数组是浮点数或双精度数,但我不知道如何在 python 中转换它,我发现了许多函数工作的示例,代码似乎几乎相同。
此外,在大多数应用程序中,我注意到在大多数示例中 findContours() 函数返回 2 个值,但如果我不给它 3 个值,则会收到错误。
请帮我找出问题!
【问题讨论】:
标签:
python
opencv
image-processing
opencv3.0
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:带有 Python 错误的 OpenCV arcLength - Python技术站