python3.7 环境window10 64位 cv2包问题。
问题
做图片处理用opencv-python做模板匹配的时候会用个sift模型,就会用到cv2.xfeatures2d_SIFT.create()这个函数,在我正要用它增加自己知识,巴拉巴啦....的时候,咦?!
这是个什么鬼哦,没有这个函数呢。
百度发现需要什么卸载原版本,换成opencv-contrib-python,我然后按照他说的将
pip install opencv_python==3.4.2.16
pip install opencv-contrib-python==3.4.2.16
这俩都下了,结果仍然没有。
解决
实际上其实你原本的opencv-python跟本不用动,只需要下载3.4.2.16版的opencv-contrib-python就可以了,原因是这个版本之后的它部分收费(吐槽:当初说好滴开源捏),貌似是这个原因。
另外一个冲突问题说明
在做物体检测有时候会用到这个函数
c = sorted(cut, key=cv2.contourArea, reverse=True)[i]
需要opencv-python模板
模板匹配时,有一个函数是
sift = cv2.xfeatures2d_SIFT.create()
需要opencv-contrib-python模板
我在做的时候安装cv2后在安装contrib,发现第二个函数可用,第一个报错;而先安装contrib后安装cv2则第一个函数可用,第二个不能用。
导致我只能分两个虚拟环境做,很麻烦,有懂得希望评论区告诉一下问题原因。