gpt4 book ai didi

python - drawContours 的数据类型错误,除非我先 pickle/unpickle

转载 作者:太空狗 更新时间:2023-10-29 20:17:16 24 4
gpt4 key购买 nike

我在 Windows 上的 python 2.7.3 上运行 opencv 2.4.3 时遇到了一个有趣的错误。尝试使用 drawContours 时出现“TypeError:不支持轮廓数据类型 = 5”错误,除非我先腌制/取消腌制轮廓。

这不起作用(我收到“类型错误:不支持轮廓数据类型 = 5”):

noBg = cv2.blur(src, (5,5))
noBg = cv2.inRange(noBg, np.array([80, 0, 200], np.uint8), np.array([255, 50, 255], np.uint8))
noBg = np.invert(noBg)
contours, hierarchy = cv2.findContours(noBg, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)
cv2.drawContours(src, contours, -1, (0,255,0), 3)

但这确实有效:

noBg = cv2.blur(src, (5,5))
noBg = cv2.inRange(noBg, np.array([80, 0, 200], np.uint8), np.array([255, 50, 255], np.uint8))
noBg = np.invert(noBg)
contours, hierarchy = cv2.findContours(noBg, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)

tmp = cPickle.dumps(contours)
contours = cPickle.loads(tmp)

cv2.drawContours(src, contours, -1, (0,255,0), 3)

有没有其他人看到过这种行为,或者我是否遗漏了一些明显的东西?我是 python/opencv 的新手,所以很可能就是这种情况。

编辑:刚刚在我的 Mac 上进行了测试,两种情况都运行良好。也许只是 Windows 的问题?

最佳答案

如果您降级到 opencv 2.4.2,这将有效。这似乎是两周前刚刚发布的 2.4.3 的一个错误。

关于python - drawContours 的数据类型错误,除非我先 pickle/unpickle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13337058/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com