专栏首页python3手势识别中一些错误解决方法

手势识别中一些错误解决方法

最近在看一个手势识别的项目时,遇到了一些错误,主要原因是该项目是使用python2.7+opencv2.4.8,而我的环境是python3.5.2+opencv3.1.0,

于是将一些解决方法记录下来,希望能够帮助其他人少走些弯路。

1.       背景分离函数

bg_model = cv2.BackgroundSubtractorMOG2(0, 10.0)

报错:       AttributeError: module 'cv2.cv2' has no attribute 'BackgroundSubtractorMOG2'

找了一些资料也查看了opencv3.1.0的官方文档,发现里面没有BackgroundSubtractorMOG2(),给的例程是cv2.createBackgroundSubtractorMOG2(),因此将代码改为下面,问题解决

bg_model = cv2.createBackgroundSubtractorMOG2()

2.    寻找轮廓函数

contours, hierarchy = cv2.findContours(contour_frame, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMP

报错:        too many values to unpack (expected 2)  这个error信息是指返回的参数多于接收的

                    但是在查看 findContours() 时,确实是返回两个参数:第一个为轮廓的点集,第二个是各层轮廓的索引,但是在查看其他人博客,说是实际上返回三个参数,第一个是返回了所处理的图像,后面两个才是我们所需要的两个参数,将代码改为如下,错误解决。

binary, contours, hierarchy = cv2.findContours(contour_frame, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMP

3.     报错:

cv2.error: D:\Build\OpenCV\opencv-3.1.0\modules\python\src2\cv2.cpp:163:error: (-215) The data should normally be NULL! in functionNumpyAllocator::allocate

在python文件开头加上如下代码,问题解决

cv2.ocl.setUseOpenCL(False)

PS:这行代码应该是禁用opencl,opencl是一个GPU的加速技术,但是据说在计算量小的时候GPU在数据转移上耗时占大头,还不如不用,至于错误的原因,也可能是我的GPU不支持opencl?具体不清楚,以后有机会可以深入研究一下,不过禁用之后确实没有这个error了

4.      xrange 和 range 的区别,这个是由于python版本的区别,在python3之后貌似是不支持xrange了,换成range就OK了

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

希望可以一起交流进步!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 对象发现

    近段时间,做了一些关于对象发现的工作。主要内容是从图片中识别出液滴,并统计其数量。在这个过程中遇到了一些问题,也发现了几种相关的解决方案,在这里与大家分享一下。

    py3study
  • OpenCV(3.2)+Python(3

      博主最近由于项目需求,需要学习OpenCV,在查看并试验了几种语言之后决定用Python作为开发语言。刚开始学习也是各种网上找资料,但是网上的资料过于杂乱,...

    py3study
  • OpenCV 的颜色空间转换

    py3study
  • [图像处理] Python+OpenCV实现车牌区域识别

    这里原理推荐我以前C++图像处理的文章,如下:https://blog.csdn.net/column/details/eastmount-mfc.html

    统计学家
  • Python OpenCV4趣味应用系列(九)---划痕缺陷检测实例

    比如Canny边缘检测也可以,只是阈值难于调节。当然,实现方法不唯一,大家可以自己尝试一下。

    Color Space
  • OpenCV从零基础---检测及分割图像的目标区域

    作者:王抒伟 编辑:王抒伟 算了 爱看多久看多久 零 参考目录: 1.获取图片 2.转换灰度并去噪声 3.提取图像的梯度 4.我们继续去噪声 5.图像形态学...

    机器学习算法工程师
  • 常见的图像变换二值化与形态学操作-python-opencv版

    1.变为rgb通道: img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) 2.变为灰度图: gray = cv2.cvt...

    微风、掠过
  • OpenCV学习笔记(Python)

    警告: 就算图像的路径是错的, OpenCV 也不会提醒你的,但是当你使用命 令print img时得到的结果是None。

    一点儿也不潇洒
  • 使用OpenCV调用摄像头,显示图片,获取视频并保存

    友情链接:https://blog.csdn.net/u012348774/article/details/78255130

    种花家的奋斗兔
  • Halcon缺陷检测实例转OpenCV实现(三)

    本期文章继续介绍缺陷检测专题的第三个案例,用OpenCV实现Halcon中一个物体凸缺陷检测的实例,前两个案例链接如上↑↑↑。

    Color Space

扫码关注云+社区

领取腾讯云代金券