在OpenNI中将Zigfu关节位置从真实世界转换为类似投影的位置
Convert Zigfu joint position from Real World to Projective like in OpenNI
OpenNI提供了函数ConvertRealWorldToProjective
,使您可以轻松地将以毫米为单位的真实世界(x,y,z)关节位置转换为给定视口的以像素为单位的投影(x,y)位置。这对于在网络摄像头上绘制"骨架"非常有用。
这个功能是由ZigJS公开的,或者是作为一个函数,或者可能已经在某个地方转换了?我在文档中找不到任何关于它的提及,但我很幸运,在过去的Zigfu中有一个以前未记录的功能。
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库可以提供这种功能吗?
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
});
相关文章:
- Possibile使用Manifest v2下的HTML5地理位置API将lat/long转换为国家/地区
- 在OpenNI中将Zigfu关节位置从真实世界转换为类似投影的位置
- 如何将CSS背景位置属性从百分比转换为像素
- 根据浏览器位置,用JavaScript将输入的日期转换为UTC
- UI 路由器 - 在状态之间转换时记住滚动位置
- jQuery/CSS在幻灯片之间的转换扰乱了位置:修复了幻灯片内部的性能
- 不带HTML的光标位置需要转换为带HTML的位置
- Three.js:将三维位置转换为二维屏幕位置
- javascript/谷歌地图:将位置对象转换为字符串
- JQueryMobile内容在页面转换后跳转(使用数据位置=“固定”)
- 如何将字符串(包含位置)转换为数组
- 将鼠标位置映射到对象的转换
- 将显示为 XML 格式的 Google 地图位置转换为输出 (ASP.Net、C#)
- 如何将矢量(X,Y)位置转换为纬度/经度坐标?Javascript
- 获取CSS位置转换,以不对窗口缩放做出反应
- JavaScript将鼠标位置转换为选择范围
- 绝对位置转换
- 将地图视窗点击位置转换为地图坐标(Bing地图)
- 将像素位置转换为纬度/经度&反之亦然
- 如何在 Javascript 中将方括号对象键从 URL 位置转换为嵌套对象