Распознавание жестов
- Войдите на сайт для отправки комментариев
Вс, 17/03/2013 - 12:50
Скоро будет готова самодельная сенсорная панель для ардуино.
Решил написать программу для распознавания жестов(пока что для processing'а).
Пока что получилась примитивная программа для распознания жеста сверху вниз(с нажатой левой кнопкой мыши), зона действия жеста внутри выделенного прямоугольника
int door=0; int button; void setup() { size(500,500); } void draw() { int brightness=51; background(brightness); fill(25); rect(175,50,150,400); if(mousePressed){ fill(250); rect(mouseX-25,mouseY-25,50,50); /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// if(mouseX<300&&mouseX>200&&mouseY>100&&mouseY<400){ if(mouseX>200&&mouseX<300&&mouseY>75&&mouseY<125) door=1; if(door==1&&mouseX>200&&mouseX<300&&mouseY>375&&mouseY<425) button= 1; } } else{ door=0; } if(door==0) button= 0; if (mouseX>320||mouseX<170||mouseY>450||mouseY<50) door=0; println(mouseX+" - - "+ mouseY); println("door ="+door+" - "+ "button ="+button); }
Так вот, хотелось бы сделать распознавание не таких прямолинейных жестов , но ,например, по дуге.
Сушествует ли какая-нибудь ф-ция или просто способ определения того, принадлежит ли точка фигуре ( например любая кривая) или же придется делать по-другому??
Ну что, Вы решили вопрос с распознаванием жестов?
Вообще, мне кажется, Вам не нужно было заморациваться с принадлежностью точки фигуре. Гораздо проще разбивать сложное движение на простые и потом определять жест...
Вот простенькие код определяющий движения влево, вправо, вверх, вниз и по диагоналям...
В принципе можно попробовать похожим образом разбивать весь путь, он момента нажатия кнопки до отпускания , по таймеру на небольшие отрезки, упрощая их до прямых, а потом на основе полученных отрезков восстанавливать примерный путь.... но это так, чисто в виде бреда...
Вообще же распознавание жестов решаются с помощью нейронных сетей, в той же опере например, не знаю могут ли они быть реализованы на processing, но тем не менее http://www.codeproject.com/Articles/1591/Mouse-gestures-recognition
Кстати, вот есть реализация распознавания на js для jQuery http://habrahabr.ru/post/60448/, на основе того, что по ссыле выше, может поможет...
Ну вроде че-то получилось
http://symb.ucoz.com/
Изначально задан "жест" в виде буквы б ,если обвести(зажав левую кнопку мыши) букву Б праильно (из центра, а не сверху), то буква Б окрасится в зеленый цвет. Для удаления "жеста" надо нажать "h" (обязательно на английском). Затем можно нарисовать новый жест/символ зажав кнопку "d".
среди готовых библиотек видел распознаволку жестов