|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Dima Marakasov 2:5020/1826.5 14 Apr 2002 00:02:30 To : Igor S. Mikhailov Subject : распознавание лазерного прицела --------------------------------------------------------------------------------
11 Apr 02 14:55, you wrote to Alex Astafiev:
IM> В том то и дело, что просто так это не получается. К примеру на кадре,
IM> который я выложил, фон градиентом, сверху вниз. Поэтому сумма
IM> яркостей строк будет возрастать книзу картинки и в конце концов
IM> перевесит максимум от пятна.
Можно считать сначала яркости столбцов, а потом уже максимальную яркость в самой
яркой (по значению R) столбцов.
Если картинка всегда получается такой, какая приведена на примере (яркое пятно
на почти темном фоне), то можно искать просто самый яркий пиксель, или же для
каждого пиксела брать некую окрестность (самое-простое - NxN (7x7 для
приведенного примера) квадрат с центром в текущем пикселе, и считать сумму
яркостей red-состовляющих пикселов в этой окрестности).
В общем же случае я бы посчитал "производную" этой картинки, т.е. для каждого
пиксела (x,y) значение ( red(x+1, y) + red(x, y+1) )/2, где red(i, j) - значение
красной состовляющей для пиксела с координатами i, j.
Затем найти максимум на полученной картинке.
Получим координаты не центра пятна, а точки, лежащей примерно на окружности
радиусом Rпятна/2, описанной вокруг центра-таки пятна. Вобщем, почти точно. Hо
зато таким способом пятно можно обнаружить хоть на градиенте 0-255 red. Хотя
этот способ значительно медленнее.
Dima
--- GoldED+/W32 1.1.4.7
* Origin: We're Alive (2:5020/1826.5)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/164703cb8a12a.html, оценка из 5, голосов 10
|