加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – drawContours的数据类型错误,除非我先打开/打开

发布时间:2020-12-16 23:04:57 所属栏目:Python 来源:网络整理
导读:在 Windows上的python 2.7.3上,opencv 2.4.3发生了一个有趣的错误.当尝试使用drawContours时,我会得到一个“TypeError:轮廓数据类型= 5不支持”错误,除非我先打开/取消打开轮廓. 这不工作(我得到“TypeError:轮廓数据类型= 5不受支持”): noBg = cv2.blur
在 Windows上的python 2.7.3上,opencv 2.4.3发生了一个有趣的错误.当尝试使用drawContours时,我会得到一个“TypeError:轮廓数据类型= 5不支持”错误,除非我先打开/取消打开轮廓.

这不工作(我得到“TypeError:轮廓数据类型= 5不受支持”):

noBg = cv2.blur(src,(5,5))
noBg = cv2.inRange(noBg,np.array([80,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,cv2.CHAIN_APPROX_SIMPLE)

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

cv2.drawContours(src,3)

有没有人看到这个行为,还是我缺少一些明显的东西?我很喜欢python / opencv,所以很可能是这样.

编辑:刚刚在我的Mac上测试过,这两种情况都能正常工作.也许只是Windows的问题?

解决方法

如果你降级到opencv 2.4.2这将工作.它似乎是一个2.4.3的错误,刚刚在两周前发布.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读