OpenNI提供函数ConvertRealWorldToProjective
,可让您轻松地将实际世界(x,y,z)关节位置(mm)转换为给定视口的投影(x,y)位置(以像素为单位)。这对于在网络摄像头源上绘制“骨架”非常有用。
这个功能是由ZigJS公开的,既可以作为一个功能,也可能已经在某处转换过?我在the docs中找不到任何提及,但是I had luck with a previously undocumented feature with Zigfu in the past。
user.addEventListener('userupdate', function(user) {
var real = user.skeleton[zig.Joint.Head].position; // this is real world coordinate
// anything exposed by zigfu to convert to real world?
});
如果Zigfu没有提供,是否有人知道提供此类功能的优秀JavaScript库?
答案 0 :(得分:2)
ZigJS公开了两个(遗憾的是未记录的)方法:convertImageToWorldSpace
和convertWorldToImageSpace
。它们都接受一个坐标数组,其中每3个元素代表一个点,它们返回转换后的点。
修改强>
为了保存其他任何试验和错误,它是嵌入式对象,而不是具有未记录方法的zig
本身。例如:
var zigObj = zig.findZigObject();
user.addEventListener('userupdate', function(user) {
var real = user.skeleton[zig.Joint.Head].position;
var projective = zigObj.convertWorldToImageSpace(real);
// do something with the converted position, like drawing it over the webcam
});