OpenCV нахождение изображения совмещается с другим изображением - PullRequest
8 голосов
/ 07 декабря 2011

Как найти координаты изображения "A" на изображении "B", которое содержит изображение "A".

Я написал эту программу, которая проверяет только значения пикселей, кто-нибудь знает, есть ли какой-нибудь инструмент библиотеки, делающий это.

Ответы [ 3 ]

7 голосов
/ 07 декабря 2011

Как предложил Throwback1986, вы, вероятно, захотите использовать matchTemplate . Здесь - один из моих ответов, показывающий, как обнаружить Солнце с помощью виртуального космического корабля. Здесь - это новое руководство от OpenCV по использованию matchTemplate. Теперь есть несколько предостережений при использовании подхода matchTemplate. Если изображение «A» может быть в произвольной позе (например, изменения масштаба, поворота, перспективы и т. Д.) В изображении «B», то matchTemplate не будет работать очень хорошо. Если это так, вы можете использовать маршрут обнаружения функций, предложенный Адрианом Поповичем.

5 голосов
/ 07 декабря 2011

Вы должны взглянуть на последние 3 урока по этой ссылке: http://opencv.itseez.com/doc/tutorials/features2d/table_of_content_features2d/table_of_content_features2d.html

Я не думаю, что проверка пикселей - это хороший подход.

0 голосов
/ 07 декабря 2011

Вы можете рассмотреть что-то вроде сопоставления с шаблоном, как описано в этом учебном пособии .

Более грубый подход заключается в постепенном "скольжении" изображения A по изображению B в поисках точкинаименьшая разница.(Обратите внимание, что это предполагает, что изображение A является некоторым достаточно небольшим подмножеством изображения B.) Вы можете использовать функцию cvNorm для вычисления L1 норма , что эквивалентно вычислению суммы квадратов разностей (SSD).Используйте опцию CV_L1. Здесь - ссылка, описывающая применение SSD в корреляции изображений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...