10

У меня есть основное понимание в обработке изображений, и теперь мы изучаем книгу «Цифровая обработка изображений» Гонсалеса.Обнаружение объекта по изображению на основе геометрической формы

Когда изображение задано и объект, представляющий интерес, приближенная форма известна (например, круг, треугольник), Каков наилучший алгоритм/метод для поиска этого объекта на изображении?

Объект может быть слегка деформирован, поэтому подход грубой силы не поможет.

ответ

5

Я рекомендую использовать преобразование Хафа, которое позволяет вам найти любой шаблон, описываемый уравнением. Более того, преобразование Hough также отлично подходит для деформированных объектов.

Алгоритм и сама реализация очень проста. Более подробную информацию можно найти здесь: http://en.wikipedia.org/wiki/Hough_transform, даже исходный код для этого алгоритма включен на ссылочную страницу (http://www.rob.cs.tu-bs.de/content/04-teaching/06-interactive/HNF.html).

Я надеюсь, что это поможет вам.

+0

Преобразование hough - своеобразная грубая сила, как вы заметите. Он работает для линий, возможно, кругов. Однако пространство Хёфа взрывается с фигурами с большим количеством параметров. – Ivan

3

Я хотел бы посмотреть на вашу проблему в два этапа:

  • первый найти внешнюю границу вашего объекта: Я допускающую вы противопоставили достаточно изображения, что вы можете легко порог, чтобы получить двоичный файл образ вашего объекта. Вам нужно извлечь код цепи объекта.

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

Вы можете найти описание о том, как получить границы вашего объекта из бинарного изображения и способы ее анализа в Gonzalez's Digital Image Processing, chapter 11.

Я также нашел это insightful presentation on binary image analyis (PPT) и matlab script, который реализует некоторые из тех методов, о которых говорит Гонсалес в DIP.

+0

Понял, что я отвечал на другой вопрос из того, что было задано. Однако вы все равно можете попробовать найти объекты таким образом, а затем сохраняете только те формы, которые ищете. – Ivan

7

Вы можете попытаться использовать гистограммы ориентированных градиентов (также называемых гидромерами ориентации края). Мы использовали их для обнаружения дорожных знаков. http://en.wikipedia.org/wiki/Histogram_of_oriented_gradients и документы Билла Триггса должны вас начать.

1

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

Книга, которая очень помогла мне, так как в Интернете нет загрузки документации: Learning OpenCV. Документация, которая поставляется с API, хороша, но не очень хороша для изучения того, как ее использовать.

В связи с вашей проблемой вы можете использовать детектор Canny Edge, чтобы найти границу своего элемента, а затем проанализировать его, или вы можете продолжить и преобразовать Hough для поиска линий и кругов.

1

вы можете специально попробовать «распознавание лица».Потому что, вы знаете, это конкретная тема. С другой стороны, «обнаружение лица» и т. Д. EmguCV может быть вам полезен. Это оболочка .Net для библиотеки обработки изображений Intel OpenCV.

1

Похоже, профессор Jean Rouat из Университета Шеркбе нашел способ поиска объектов в изображениях путем обработки нейтральной нейронной сети. Его технологическое имя RN-SPIKES, похоже, доступно для лицензирования.

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