|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Valentin Davydov 2:5020/400 11 Apr 2002 16:15:37 To : Igor S. Mikhailov Subject : Re: распознавание лазерного прицела --------------------------------------------------------------------------------
> From: "Igor S. Mikhailov" <igor@alter.ru>
> Date: Wed, 10 Apr 2002 07:35:08 +0000 (UTC)
>
>Задача: есть RGB картинка примерно 50х150 пикселей. Hа ней изображено
>немного размытое лазерное пятно размером примерно 7х7 пикселей красного
>цвета. Фон неравномерный, черно-красный. Картинка представлена двумерным
>массивом RGB-значений.
>Hужно найти координаты центра лазерного пятна. Быстро. Раз 30 в секунду.
Во-первых, надо выкинуть нафиг цветную камеру и взять хорошую чёрно-белую
CCD видеокамеру с единичной гаммой и подходящим фильтром. Во-вторых, поставить
перед камерой оптику с таким увеличением, чтобы возможные перемещения пятна
впритык (с запасом не более 30-50%) покрывали поле зрения. Оптику тщательно
промыть и снабдить блендой, чтобы по возможности избавиться от
неравномерности фона. В-третьих, необходимо запастись платой видеоввода,
которая позволяет анализировать сигнал в реальном времени, то есть сообщает
программе момент окончания записи очередного кадра (дешёвенькая BT878 с
хорошим драйвером удовлетворяет этому условию).
Дальше, собственно, сам алгоритм: заводишь два массива, в один складываешь
все пикселы по вертикали, а в другой - по горизонтали, и находишь в каждом
массиве максимум (если достаточно точности в один пиксел) или взвешенное
среднее с окном гауссовй формы и подходящей ширины, центрированном на
максимуме же (при этом достигается точность до единиц процентов от размера
пиксела). Hа 266 пне с быстрой памятью как раз 30 раз в секунду и получается,
если камера NTSC, с задержкой на два кадра. Если отдельно обрабатывать чётные
и нечётные поля, то можно в два раза повысить частоту отсчётов, однако
задержка при этом всё равно составит около двух кадров.
Вал. Дав., делавший такие штуки ещё в дописишную эпоху, аналоговым способом.
--- ifmail v.2.15dev5
* Origin: Demos online service (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/657719e36095.html, оценка из 5, голосов 10
|