
20.10.2010, 20:51
|
|
Новичок
|
|
Регистрация: 20.10.2010
Сообщений: 11
|
|
|
Поиск ладони
Доброе время суток! Есть изображение с ладошкой:

Как найти ладонь на изображении? (С++, OpenCV) Понимаю, что нужно перевести в градации серого само изображение, сделать бинаризацию, найти контуры и закрасить разными цветами... Но вот дальше не знаю.. Или может алгоритм изначально не верный? Прошу у вас помощи...
|
|

20.10.2010, 21:09
|
|
|
|
Только на этом изображении найти или же алгоритм должен быть более общим?
|
|

20.10.2010, 21:12
|
|
|
Сообщение от TacoBell
|
|
перевести в градации серого само изображение,
|
имхо это как раз категорически нельзя делать. цвет несет очень мощный сигнал в данном случае
|
|

20.10.2010, 21:59
|
|
Новичок
|
|
Регистрация: 20.10.2010
Сообщений: 11
|
|
Сообщение от гость
|
|
Только на этом изображении найти или же алгоритм должен быть более общим?
|
Общим. Суть вот в чем: поток изображений поступает с веб камеры. Алгоритм должен, пока, выделить контур ладони пропустив другие объекты.
Сообщение от гость
|
|
имхо это как раз категорически нельзя делать. цвет несет очень мощный сигнал в данном случае
|
Кхм.. Я как раз думал над этим... НО потом отказался от идеи фильтра по цвету т.к. подумал, что Афроамериканцы не смогут пользоваться прогой xD Хотя, в данном случае, это не имеет значения (учебный проект). Тогда, получается, нужно выбрать планку цвета +- какое-то кол-во пикселей и отсечь другие цвета?
|
|

20.10.2010, 23:08
|
|
Пользователь
|
|
Регистрация: 25.01.2010
Сообщений: 51
|
|
|
Можно слегка упростить задачу, повесив на руку яркие и легко распозноваемые маркеры. Придется брать качественную вебкамеру, чтобы избежать эффекта замедления из матрицы.=) И анализ изображений ёмкий ко времени процесс, готовься налегать на оптимизацию.
|
|

20.10.2010, 23:20
|
|
Новичок
|
|
Регистрация: 20.10.2010
Сообщений: 11
|
|
Сообщение от lordKelvin
|
|
Можно слегка упростить задачу, повесив на руку яркие и легко распозноваемые маркеры. Придется брать качественную вебкамеру, чтобы избежать эффекта замедления из матрицы.=) И анализ изображений ёмкий ко времени процесс, готовься налегать на оптимизацию.
|
Без оптимизации, конечно, никак... Но и хотелось бы без маркеров. Может есть какие-то идеи на эту тему?
|
|

21.10.2010, 05:44
|
|
Пользователь
|
|
Регистрация: 25.01.2010
Сообщений: 51
|
|
|
Можно фильтром высчитать фон и искать двигающиеся предметы, вычитанием. Руку определять уже по контуру. Собственно, если есть гарантированный контраст с фоном, то можно сразу искать границу.
|
|

21.10.2010, 07:17
|
|
Новичок
|
|
Регистрация: 20.10.2010
Сообщений: 11
|
|
Сообщение от lordKelvin
|
|
Можно фильтром высчитать фон и искать двигающиеся предметы, вычитанием. Руку определять уже по контуру. Собственно, если есть гарантированный контраст с фоном, то можно сразу искать границу.
|
Спасибо, но, однако, этот вариант мне не подходит: камера может тоже двигаться.
|
|

21.10.2010, 20:36
|
|
Пользователь
|
|
Регистрация: 25.01.2010
Сообщений: 51
|
|
|
Как знать. Можно считать, что камера двигается медленнее руки и не постоянно. И пользоваться постоянным фоном, когда таковой имеется.
|
|

21.10.2010, 20:50
|
|
Новичок
|
|
Регистрация: 20.10.2010
Сообщений: 11
|
|
Впринципе, вы совершенно правы... Так как это учебный проект, то, я думаю, будет достаточно принять положение камеры неизменным
P.S> А еще появилась идея. МОжно находить руку с помощью фильтра по цвету. Тогда, в начале работы программы, юзер должен закрыть своей ладонью большую часть обзора камеры и при этом нажать кнопку старт. Далее высчитывается среднее значение поверхности которая больше всего покрывает изображение (ладонь) и выбирается барьер бинаризации. Далее просто все остальное отсекается и остается черным цветом рука на белом фоне +- какие-то артефакты, которые можно легко убрать посчитав их площадь. Как думаете, покатит?
Последний раз редактировалось TacoBell, 21.10.2010 в 20:55.
|
|
| Опции темы |
Поиск в этой теме |
|
|
|
| Опции просмотра |
Линейный вид
|
|
| |