Алгоритмы совмещения изображений

ОГЛАВЛЕНИЕ

В статье рассматриваются алгоритмы совмещения изображений - процесс сопоставления одного изображения под названием шаблон с другим изображением.

•    Скачать двоичные файлы - 1.38 Мб
•    Скачать исходники - 81.68 Кб

Введение

Совмещение изображений – процесс сопоставления одного изображения под названием шаблон (обозначаемый как T) с другим изображением I (смотрите рисунок выше). У совмещения изображений много применений, типа отслеживания объектов на видео, анализа движения и многих других задач машинного зрения.

В 1981 Брюс Д. Лукас и Такео Канаде предложили новый метод, использовавший данные о градиенте интенсивности изображения для поиска лучшего совпадения между шаблоном T и другим изображением I. Предложенный алгоритм широко применяется в области машинного зрения в течение последних 20 лет и имеет много изменений и расширений. В их число входит алгоритм, предложенный Симоном Бейкером, Фрэнком Деллаертом и Иэном Мэтьюсом. Их алгоритм гораздо эффективней вычислительно, чем исходный алгоритм Лукаса-Канаде.

В серии статей Лукас-Канаде 20 лет спустя: объединяющая основа Бейкер и Мэтьюс пытаются классифицировать алгоритмы совмещения изображений и разделить их на две категории: поступательные и обратные, в зависимости от роли шаблона T. Также они классифицируют алгоритмы как аддитивные или композиционные, в зависимости от того, обновляется ли деформация путем добавления увеличения параметров или путем составления матриц преобразований. По данной классификации алгоритм Лукаса-Канаде должен называться поступательным аддитивным алгоритмом, а алгоритм Бейкера-Деллаерта-Мэтьюса должен называться обратным композиционным алгоритмом.

В этой статье реализуются два указанных алгоритма на языке C с использованием бесплатной библиотеки машинного зрения Intel OpenCV как основы для реализации. Также будет проведено сравнение этих двух алгоритмов для выяснения, какой из них быстрее.

Зачем нужна эта статья? Она дает хорошее понимание алгоритмов совмещения изображений. Есть много статей с уймой информации о совмещении изображений. Большинство из них предназначено для опытных читателей, а не для начинающих. Среди этих статей есть несколько таких, которые описывают сложные вещи просто. Но в них не хватало примеров кода для испытания. Итак, остальные две задачи этой статьи – относительно простое объяснение принципов работы совмещения изображений и предоставление примеров исходного кода.

Кому будет интересно прочитать статью? Если вы помните математику из университетской программы, знаете C или C++, заинтересованы в том, чтобы узнать, как отслеживать объект на видео, и запаслись терпением, то можете прочитать статью.

Читайте также:
  • Манипулирование цветами в .NET – часть первая
    • Скачать демонстрационный проект (.NET 1.1) - 58.8 Кб• Скачать исходники C# (.NET 1.1) - 110.0 Кб• Скачать исходники C# (.NET 2.0) - 111.2 Кб• Скачать исходники VB (.NET 2.0) - 115.7 Кб Введение Почему статья о "цветах"? На самом деле, в .NET, можно использовать только два формата цвета: цвет...
  • Назад к основам – обобщенные структуры данных и алгоритмы в .NET 2.0
    •    Скачать исходники - 265.8 Кб (с тестами NUnit)•    Скачать двоичные файлы - 40.5 Кб•    Домашняя страница проекта NGenerics (CodePlex)Статья не дает все подробности и полные описания внутреннего устройства этих коллекций и алгоритмов - наоборот, она дает ссылки на имеющиеся в интернете ресурс...
  • Определение цен барьерных опционов с помощью сеток. Часть первая – постоянные барьеры
    •    Скачать демонстрационный проект - 5.26 Кб•    Скачать исходники - 12.2 Кб Введение Стоит отметить, что представленный метод можно расширить до вмещения опционов с несколькими постоянными барьерами. После изучения простого примера перейдем к более сложным опционам с изменяющимися во времени ...
  • FuzzyAdvisor – простая экспертная система с нечеткой логикой на F#
    •    Скачать исходники - 108 Кб Введение Более 15 лет назад разрабатывали проект (Brulé и др., 1995), требовавший экспертную систему, выбирающую подходящий вариант исходя из некоторых основных параметров. Были опробованы несколько подходов, в том числе использование исчисления предикатов (...
  • Нейронные сети на C#
    •    Скачать исходники - 251 Кб•    Скачать демонстрационный проект - 181 Кб Введение История нейронных сетей начинается в 1950-х гг., когда была представлена архитектура простейших нейронных сетей. После начальной работы в области идея нейронных сетей стала весьма популярной. Но затем область...