Алгоритм поиска изображения в другом изображении. (Коллаж) - PullRequest
3 голосов
/ 29 января 2010

Возможно ли это вообще? У меня есть одно огромное изображение, 80 МБ с множеством маленьких картинок. Они также наклонены и повернуты. Как я могу найти изображение с помощью программирования? Я знаю, как использовать Java и C ++. Как бы вы поступили об этом?

Ответы [ 4 ]

4 голосов
/ 29 января 2010

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

Редактировать: Совершенно верно - он запатентован, и мне, наверное, следовало бы упомянуть об этом для начала. На случай, если кому-то все равно, это патент США № 6,711,293 .

3 голосов
/ 29 января 2010

Один алгоритм, который я использовал раньше, это SIFT . Если вы заинтересованы в реализации этого алгоритма для себя, вы можете посмотреть примечания к курсу CPSC 425 на UBC , в которых подробно описывается, как реализовать SIFT в MATLAB. Если вам просто нужен код, который делает это, взгляните на VLFeat , библиотеку C, которая выполняет SIFT, и ряд других алгоритмов.


Цитата от Джерри Гроба:

Редактировать: Совершенно верно - он запатентован, и я, наверное, должен был упомянуть об этом для начала. На случай, если кому-то все равно, это патент США № 6,711,293 .

2 голосов
/ 29 января 2010

Как много вы знаете об изображении? Как именно это выглядит? У вас есть копия изображения, и вам просто нужно выяснить, где оно находится на большом изображении?

В любом случае, ветвь CS, которая занимается этими вопросами, называется Computer Vision .

Open CV и TINA - две библиотеки с открытым исходным кодом, которые вы можете использовать.

1 голос
/ 29 января 2010

Вероятно, вам следует начать с самых простых идей и посмотреть, достаточны ли они для ваших нужд. В области сопоставления с образцом простейшая идея - это сопоставление с шаблоном . Эффективная реализация сопоставления шаблонов найдена в OpenCv .

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

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