错误-215 TrainDescollection[iIdx]Python OpenCV

错误-215 TrainDescollection[iIdx]Python OpenCV,python,opencv,surf,sift,Python,Opencv,Surf,Sift,我匹配了两张图像,在80%的情况下都能正常工作,但在某些情况下会崩溃并显示以下消息: 。。。匹配=匹配器。匹配(d1,d2)错误: ..\opencv-2.4.6\modules\features2d\src\matchers.cpp:365:错误: (-215)TrainDescollection[iIdx]。行数

我匹配了两张图像,在80%的情况下都能正常工作,但在某些情况下会崩溃并显示以下消息:

。。。匹配=匹配器。匹配(d1,d2)错误: ..\opencv-2.4.6\modules\features2d\src\matchers.cpp:365:错误: (-215)TrainDescollection[iIdx]。行数 其中
d1
d2
是两幅图像的描述符。我在谷歌搜索,但没有找到答案。也许这是一个愚蠢的错误,但我在这个领域是个笨蛋

此外,我在这个网站上读到了以下声明:“它只适用于SIFT和SURF描述符(非免费)”。你知道SIFT和SURF是否受版权保护吗


谢谢大家

你是对的!(我想)我对这个问题有所了解。我在发现问题的地方拍摄了两张图片,然后在另一台计算机上运行相同的代码。嗯,在另一个例子中,我没有得到错误。 在一个崩溃中,我有以下软件包:

gdal 1.10.1
numpy 1.7.1
opencv-python 2.4.6
scipy 0.12.0
在一个有效的例子中,我有:

...
gdal 1.9.2
numpy 1.6.2
opencv-python 2.4.3
scipy 0.11.0
...
scikit-image 0.7.2
scikit-learn 0.13.1
scipy 0.11.0
scipy-stack 12.11.29
simplecv 1.3
...

等等。更重要的是:D。我似乎错过了一些东西,但我不知道为什么它会在更新版本中崩溃。现在我正在安装scipy堆栈和scipy及scikit映像…可能错误在于缺少包

这是opencv中的一个开放错误。


尝试使用较小的图像(例如,获取子集和/或向下采样)。看起来这个实现涉及到一个棘手的优化(在贬义的意义上),它假设功能的数量(在一个图像中)少于两个的魔力