2015-07-03 3 views
0

Я реализую алгоритм поиска изображений, которые можно сшить вместе бок о бок. Данное изображение A, я хочу найти изображение B, которое даст плавное изменение цвета внутри красного прямоугольника или, по крайней мере, сделает границу между изображениями менее очевидной. enter image description hereНайти подходящие границы изображений с помощью OpenCV

Наиболее простым решением было бы принять средний цвет на границе и сравнить, но я хочу посмотреть, есть ли у кого-то лучшее решение. Какой цвет, функции, отличные от среднего цвета, приведут к лучшему совпадению?

Я использую C++ и OpenCV для реализации этого.

ответ

0

Вместо использования простых цветовых функций я бы рекомендовал использовать ключевые точки, такие как SIFT, SURF и т. Д. После того, как вы найдете ключевые точки, вы можете сопоставить их попарно и проверить, какая пара имеет наибольшее соответствие ключевых точек. Его легко реализовать в OpenCV.

+0

Я не вижу, как ключевые функции помогают мне получить плавные переходы между изображениями. Я не пытаюсь сшить изображения вместе во что-то вроде панорам. Я только хочу посмотреть на правую границу, если изображение А и левая граница изображения В и выбрать изображение В, чтобы граница между ними не была видна (если возможно). Извините, если я не понимаю, что вы отвечаете, но я не вижу, как здесь могут помочь SIFT или SURF (которые не имеют информации о цвете). – krunarsson

+0

«Я реализую алгоритм поиска изображений, которые могут быть сшиты бок о бок». произвело такое впечатление. Однако вернемся к вашему вопросу; предполагая, что изображения взяты из разных сцен, может быть полезной простая гистограмма YUV, дескриптор цветовой структуры, дескриптор цветового макета. Кроме того, вы можете захотеть создать сходство текстуры, используя локальные двоичные дескрипторы. Они очень простые, но довольно эффективные. – karttinen

Смежные вопросы