Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Поиск координат центров световых пятен


Автор: JackyFox 20.5.2011, 13:35
Здравствуйте!

Суть — Курсовик. С окуляров бинокулярной насадки берется изображение марки коллиматора, оба изображения объединяются в одно. Всё это дело в реальном времени идет через веб-камеру на компьютер. Получается что-то вроде такой картинки (железного прототипа пока нет, поэтому привожу модель):

user posted image

Задача: найти центры этих двух световых пятен. Потом уже по их расхождению будет приниматься решение о качестве бинокулярной насадки.

На данный момент остановился на библиотеке OpenCV, весь код планирую писать на питоне. Пока что я только получил изображение с камеры, и запустил примеры с распознаванием лиц и людей =)

Если кто-то сталкивался с похожей задачей, то прошу напнуть в верном направлении. Какие-то, наверное, встроенные алгоритмы самого OpenCV, методики подобного анализа существуют.

Спасибо.

Добавлено через 10 минут и 55 секунд
Есть мнение, я опять поторопился с вопросом smile Раз мне надо искать круги и эллипсы, то надо глядеть в сторону преобразования Хафа. Нашел http://robocraft.ru/blog/computervision/502.html на робо_крафте

Автор: _Y_ 21.5.2011, 16:44
А что считать световым пятном и что его центром? Ведь на картинке нет четкой границы пятна - плавный переход.

Судя по картинке в центре яркость наибольшая. В этом случае можно:
  • Бинаризовать картинку с границей чуть ниже, чем максимальная яркость. Получится картинка забитая нулями и только несколь пикселей с единицами.
  • Разбиваем единичные пиксели на две группы и считаем среднее положение для каждой группы.
  • Делаем статобработку, определяя достоверно ли группы отличаются между собой. Если да - пятна два. Если нет, группа одна - пересчитываем среднее.
Т.к. ярких пикселей будет найдено не так много, этот алгоритм будет весьма эффективен, т.к. рассчеты можно будет производить даже ручкой на бумажке в режиме реального времени работы видеокамеры smile 

Естественно, работать будет только если реальная картинка весьма похожа на нарисованную. Если нет - все зависит от картинки.

Автор: JackyFox 24.5.2011, 06:07
_Y_, спасибо за предложенный алгоритм.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)