freepascal.ru • Просмотр темы - Детектор "мохнатой лапы" ( HandsDetect for Lazarus )
 

Детектор "мохнатой лапы" ( HandsDetect for Lazarus )

Обсуждаются как существующие проекты (перевод документации, информационная система и т.п.), так и создание новых.

Модератор: Модераторы

Детектор "мохнатой лапы" ( HandsDetect for Lazarus )

Сообщение Alex2013 » 01.06.2018 13:37:46

Вообщем один из вариантов "детектора ладони"
( Довольно важная часть приложений с интерфейсом на основе дополненной реальности )
...как-бы заработал под Лазарусом ! :idea:
ИзображениеИзображение

Исходник бинарник и библиотеки тут : :arrow: HandsDetect1.7z :idea:

Почему "как-бы" а потому что надежность распознавания пока отвратительная (даже что-бы получить "четырехпалый" демо-скрин пришлось изрядно повозится ) но "Москва не сразу строилась " поэтому рад и такому результату .

А вообще должно быть как-то так ... https://www.youtube.com/watch?v=rm8BtZMH2_I
Зы
Интересно в чем дело ? Почему практически тот-же пример работает значительно лучше чем у меня ?
Alex2013
энтузиаст
 
Сообщения: 928
Зарегистрирован: 03.04.2013 11:59:44

Re: Детектор "мохнатой лапы" ( HandsDetect for Lazarus )

Сообщение Pavia » 01.06.2018 17:44:29

Alex2013
У меня не работает cvConvexityDefects вылетает. Попробуйте обновить библиотеку.
Что касается этого индуса, то он не первый год занимается. У вас на скрине только половина кисти его алгоритм такое не обрабатывает. Он об этом в pdf писал. Ему нужна кисть целиком. Ни больше не меньше. Ни больше это до рукова приталенной рубашки.
Так что тут лучше заменить алгоритм.
Аватара пользователя
Pavia
постоялец
 
Сообщения: 213
Зарегистрирован: 07.01.2011 12:46:51

Re: Детектор "мохнатой лапы" ( HandsDetect for Lazarus )

Сообщение Alex2013 » 01.06.2018 18:26:51

Все DLL OpenCV 2.40 (и даже чуть лишних) что используются этой программой лежат в папке bin
OpenCV у меня не уставлен и это сделано специально чтобы избегать конфликтов МНОЖЕСТВА версий и суб-версий OCV .
Зы
Если сразу собираешь сам то просто кинь собраний exe-шник в бин ..
И вот еще что.. там вроде были проблемы с запуском в режиме отладки
У меня выбивало тут Ctx.hull := cvConvexHull2(Ctx.contour, Ctx.hull_st, CV_CLOCKWISE, 0);
так что запускай без отладки ...
зы
По скрину : Что там за условия для лучшего распознавания я если честно так и не понял (Даже темный однотонный фон не очень помогает... грешу на "неумную" бинаризацию - возможно дело в ней .но "хрен его знает " ). Есть еще несколько вариантов решения этой задачи но они пока работают еще хуже или не работают совсем .
Пытался получить всю пятерню но "поймать момент" не получилось Распознавание там можно сказать в "режиме мерцания " и большую часть времени программа "смотрит в книгу - видит фигу"...

Зы Зы
Дельфийский исходник взят тут
(как я понял дльфи у тебя установлен так, что можешь юзать код примера без моей "художественной адаптации " :idea: )
https://github.com/Laex/Delphi-OpenCV
Точнее
/Delphi-OpenCV-master/samples/MultiDemo/HandsDetect/
Сама паскаль-библиотека тоже от туда (Лазарус/FPC передерживается нативно так что транслировать/адаптировать нужно только файлы проекта )
Alex2013
энтузиаст
 
Сообщения: 928
Зарегистрирован: 03.04.2013 11:59:44

Re: Детектор "мохнатой лапы" ( HandsDetect for Lazarus )

Сообщение Pavia » 01.06.2018 20:08:54

Alex2013
Я тут вспомнил что этот код на Си++ пробовал. Там у них глюк с 2٫4 нужно 2٫6 и выше. А на Delphi переведёны заголовочные только 2٫4.
Поэтому код и глючет у вас. Если библиотека бажная, то нет ни каких лучших условий.
Аватара пользователя
Pavia
постоялец
 
Сообщения: 213
Зарегистрирован: 07.01.2011 12:46:51

Re: Детектор "мохнатой лапы" ( HandsDetect for Lazarus )

Сообщение Mavlyudov » 04.06.2018 10:33:55

А для Delphi есть? В файле HandsDetect.lpr написано "Delphi-OpenCV Demo", но в Delphi7 не компилирует
Mavlyudov
новенький
 
Сообщения: 20
Зарегистрирован: 24.01.2010 20:35:23

Re: Детектор "мохнатой лапы" ( HandsDetect for Lazarus )

Сообщение Alex2013 » 04.06.2018 12:54:16

А для Delphi есть? В файле HandsDetect.lpr написано "Delphi-OpenCV Demo", но в Delphi7 не компилирует

Да есть ! Качаешь от сюда архив
https://github.com/Laex/Delphi-OpenCV
Там в примерах лежит ...
/Delphi-OpenCV-master/samples/MultiDemo/HandsDetect/HandsDetect.dpr
(оболочка для OpenCV с нужными модулями там-же в архиве)

Про Дельфи 7 не знаю, но вроде оболочка его поддерживать должна но на практике пока не пробовал .
Но смысла особого нет там просто вызовы в сишную DLL (Я кстати не думаю что что-то от версии OpenCV сильно зависит )
(И не смотря на описания на гигахабе в исходном тексте оболочки есть определения для разных версий OpenCV (если я ничего не путаю) в плоть до версии 3.20 )

Добавлено спустя 22 часа 39 минут 28 секунд:
Немного разобрался ! Видимо вся собака зарыта в настройке поиска контура
(Такое четкое контурное изображение ладони как видно в правом окне получается очень редко )
В ролике на трубе четко видна целая куча ручных настроек
ЗЫ
Скачал поделку еще одного индуса... :idea:
https://github.com/Sadaival/Hand-GesturesҐ
Буду разбираться....
Alex2013
энтузиаст
 
Сообщения: 928
Зарегистрирован: 03.04.2013 11:59:44


Вернуться в Разное

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рейтинг@Mail.ru