Проблема сопоставления шаблонов с использованием BoofCV

Я новичок в BoofCV, я пытался реализовать пример сопоставления шаблонов BoofCV, приведенный по следующей ссылке http://boofcv.org/index.php?title=Example_Template_Matching.

Он работает правильно, когда мое изображение содержит шаблон, но когда я меняю изображение, которое не содержит шаблон, оно все равно возвращает результат как найденное совпадение.

Итак, я хочу сделать что-то подобное, чтобы он выдавал ошибку или сообщение журнала о том, что шаблон не найден, вместо того, чтобы выдавать найденное совпадение, которое совершенно неверно.

С уважением


person Jigar Shah    schedule 09.11.2016    source источник
comment
Так что в основном это не работает в любом случае, поскольку приведенный вами правильный пример также может быть ложноположительным.   -  person Antoniossss    schedule 09.11.2016
comment
Да, когда изображение не содержит шаблона, оно дает неправильное совпадение, фактически, как оно может получить совпадение, если изображение не содержит шаблон. Итак, я пытаюсь найти решение, чтобы проверить, содержит ли изображение шаблон или нет, если оно содержит, то процесс еще выдает сообщение об ошибке   -  person Jigar Shah    schedule 09.11.2016
comment
Это моя точка зрения - ложноположительный результат означает, что вы не знаете, вызвано ли совпадение с вводом, где он должен работать, потому что он фактически обнаруживает шаблон, или он не работает, как в случае ввода, где нет шаблона. В других работах вы не знаете, работает ли это вообще.   -  person Antoniossss    schedule 09.11.2016
comment
Да, что можно сделать, чтобы определить, присутствует ли шаблон?   -  person Jigar Shah    schedule 09.11.2016
comment
Я имею в виду, как установить пороговое значение для шаблона, если совпадение равно ‹, тогда пороговое значение обнаруживает шаблон, иначе он не найден на изображении.   -  person Jigar Shah    schedule 09.11.2016


Ответы (1)


Нужно смотреть на счет матча. То, что делает порог хорошим, будет зависеть от используемой вами техники сопоставления.

matcher.process(image);
for( Match m : matcher.getResults().toList() ) {
    if( m.score < THRESHOLD ) // filter out false positives with this
        continue;
}
person lessthanoptimal    schedule 28.11.2016