Я пытаюсь использовать OpenCV для обнаружения и извлечения функций ORB из изображений.
Однако изображения, которые я получаю, не нормализованы (другой размер, другое разрешение и т. Д.).
Мне было интересно, нужно ли нормализовать свои изображения перед извлечением функций ORB, чтобы иметь возможность сопоставлять их между изображениями?
Я знаю, что обнаружение функции зависит от масштаба, но я не уверен вчто это означает для разрешения изображений (например, 2 изображения одинакового размера, с одним близким объектом и далеко друг от друга, должны привести к совпадению, даже если они имеют разный масштаб на изображениях, но что, если изображения неу меня такой же размер?).
Нужно ли адаптировать patchSize из ORB в зависимости от размера изображения (например, если у меня изображение 800px, а для patchSize 20px, нужно ли мне взятьpatchSize 10px для изображения 400px?).
Спасибо.
Обновление: Я тестировал различные алгоритмы (ORB, SURF и SIFT) с высоким и низким разрешениемизображения, чтобы увидеть, как они себя ведут.На этом изображении объекты имеют одинаковый размер, но разрешение изображения различно:
Мы можем видеть, что SIFT довольно устойчив, хотя у него немногофункции.SURF также довольно стабилен с точки зрения ключевых точек и масштаба функций.Таким образом, я предполагаю, что функция соответствия между изображениями с низким и высоким разрешением с SIFT и SURF будет работать, но ORB имеет гораздо большую функцию с низким разрешением, поэтому дескрипторы не будут совпадать с таковыми на изображении с высоким разрешением.
(При извлечении объектов с высоким и низким разрешением использовались одни и те же параметры).
Поэтому я предполагаю, что было бы лучше выполнить SIFT или SURF, если мы хотим выполнить сопоставление между изображениями с разными разрешениями.