$p点云识别器的python元素
dollarp的Python项目详细描述
dollarpy是$P Point-Cloud Recognizer的python实现。
从网站:
The $P Point-Cloud Recognizer is a 2-D gesture recognizer designed for rapid prototyping of gesture-based user interfaces. In machine learning terms, $P is an instance-based nearest-neighbor classifier with a Euclidean scoring function, i.e., a geometric template matcher.
$P is the latest in the dollar family of recognizers that includes $1 for unistrokes and $N for multistrokes. Although about half of $P’s code is from $1, unlike both $1 and $N, $P does not represent gestures as ordered series of points (i.e., strokes), but as unordered point-clouds. By representing gestures as point-clouds, $P can handle both unistrokes and multistrokes equivalently and without the combinatoric overhead of $N. When comparing two point-clouds, $P solves the classic assignment problem between two bipartite graphs using an approximation of the Hungarian algorithm.
Vatavu,R.D.,Anthony,L.,&Wobbrock,J.O.,“Gestures as Point
Clouds: A $P Recognizer for User Interface
Prototypes”,
在:第14届ACM多式联运国际会议记录
互动(ICMI)
安装
dollarpy可以使用pip安装:
pip install dollarpy
用法
dollarpy分三步使用:
fromdollarpyimportRecognizer,Template,Point# Define 'Template' gestures, each consisting of a name and a list of 'Point' elements.# These 'Point' elements have 'x' and 'y' coordinates and optionally the stroke index a point belongs to.tmpl_1=Template('X',[Point(0,0,1),Point(1,1,1),Point(0,1,2),Point(1,0,2)])tmpl_2=Template('line',[Point(0,0),Point(1,0)])# Create a 'Recognizer' object and pass the created 'Template' objects as a list.recognizer=Recognizer([tmpl_1,tmpl_2])# Call 'recognize(...)' to match a list of 'Point' elements to the previously defined templates.result=recognizer.recognize([Point(31,141,1),Point(109,222,1),Point(22,219,2),Point(113,146,2)])print(result)# Output: ('X', 0.733770116545184)