Ошибка -215 trainDescCollection [iIdx] Python OpenCV

Я сопоставляю два изображения и в 80% случаев работает, но в некоторых случаях происходит сбой и появляется это сообщение:

... соответствует = matcher.match(d1, d2) ошибка: ......\opencv-2.4.6\modules\features2d\src\matchers.cpp:365: ошибка: (-215) trainDescCollection[iIdx] .строки ‹ IMGIDX_ONE

где d1 и d2 — дескрипторы двух изображений. Я искал в Google, но не нашел ответа. Может быть, это глупая ошибка, но я нуб в этой области.

Кроме того, я прочитал на этом веб-сайте следующее заявление: «он отлично работает только с дескрипторами SIFT и SURF (которые не являются бесплатными)». Знаете ли вы, защищены ли SIFT и SURF авторским правом?

Спасибо всем!


person user3075816    schedule 06.12.2013    source источник
comment
Вы должны подумать о том, чтобы немного почистить свой вопрос - вы спрашиваете две разные вещи. Я бы больше сосредоточился на технической проблеме и предоставил более подробную информацию о том, что именно вы пробовали и какие изображения вы пытаетесь сопоставить. Предоставьте больше своего кода.   -  person Iguananaut    schedule 07.12.2013


Ответы (2)


Это открытая ошибка в opencv. https://github.com/Itseez/opencv/issues/5700

Попробуйте использовать изображения меньшего размера (например, возьмите подмножество и/или уменьшите выборку). Похоже, что реализация включает в себя хитрую (в уничижительном смысле) оптимизацию, которая предполагала, что количество признаков (в одном из изображений) меньше некоторой магической степени двойки.

person benjimin    schedule 26.05.2016

У вас есть право! Я получил подсказку проблемы (я думаю). Я беру два изображения, на которых возникает проблема, и запускаю тот же код на другом компьютере. Ну, в другом я не получил ошибку. В том, что сбой, у меня есть эти пакеты:

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-stack, scipy и scikit-image... Возможно, ошибка заключается в отсутствии пакетов.

person user3075816    schedule 07.12.2013