关于cv2.cv.Boxpoint()函数出错解决方法

今天使用opencv运行一个脚本,但是出现cv2.cv.BoxPoints()函数有错,提示’module’ object has no attribute ‘cv’ 的错误,找了一些帖,发现最多的解决方法就是说“这是因为opencv3已经没有了cv,只能重新下载opencv2 ; ”,我就纳闷了,有新的版本不用,为什么还要下载旧的版本。有的更是建议“from cv2 import cv as cv”这是开玩笑吧,根本不起作用,根本原因就是版本不支持。但是我只是想用这个函数来找出坐标而已,重新下载一个opencv,感觉好麻烦,最后去stackflow硬是锻炼了一下英文参考链接,偶然发现原来opencv3的版本中只是改了一点,所以:

如果你只是想用这个函数的功能,又不想装opencv2,那么只需把cv2.cv.BoxPoints()函数改为cv2.boxPoints()。
#顺便提一下,版本语法不兼容的错误经常会出现,比如python2 vs python3 , opencv2 vs opencv3 ,也不建议大家要一根筋去把他们的差异被下来,只需要出现问题的时候去网上找就行。

附:
(1)有时候写findContours函数时会遇上too many values to unpack (expected 2),也是版本的原因,这里就不详细说了.参考文章
(2)使用opencv时遇到cv2.error: /io/opencv/modules/imgproc/src/color.cpp:11111: error: (-215) scn == 3 || scn == 4 in function cvtColo
不要以为是cvtColor函数出了问题,其实你细心看,是你imread的时候可能图片名写错了,或者后缀搞错。

好吧,其实还有很多坑的,不可能面面俱到,有空再写自己在玩opencv的时候遇到的各种各样的问题。

你可能感兴趣的:(图像处理,计算机视觉,opencv)