这个项目首先是有人在微信上问我是不是能够做这个项目,然后我看了下,因为之前用processing和kinect连接机器人做了一个用机器人模仿人动作的项目,所以我就觉得很简单。
对了,看知乎上很多人说kinect for xbox的是不能在pc上运行的,但是我用processing和kinect连接用的几个好像都没有遇到不能识别这样的问题。。不知道为什么。。
最近说是有一个深港双年展,好像是一个建筑团队做的,然后我就想到了这个项目,因为觉得和建筑还有些关系。
恩,所以基本上就是processing装上simpleopenni库以后跑一下例程。
这里有一个要说下就是simpleopenni的文档做的相当之。。。。。基本上就是没有文档吧。。所以很多函数都不知道是神马用的。
然后获取对应像素真实坐标千万不能用
image(context.depthImage(), 0, 0);
这个,千万不能用千万不能用千万不能用。。。。这个好像是经过处理的,里面的灰度值并不和真实的距离相关。因为之前机器人的项目用的是获取骨骼的三维数据,所以不知道,弄了一个晚上才找到这个原因。。。
正确的方法是用这个
context.depthMapRealWorld();
然后搭架子什么的没有什么技术含量了,但是接下来就是一个很大的坑。。。
首先,因为simpleopenni不支持processing3,所以必须要在processing2上面运行(在mac里改成两个名字就行,不过不能同时运行)
然后就是如果完成投影仪和kinect的坐标变换。这部分的知识我清楚的知道在摄影测量这个课上面是讲过的。。。但是。。。。。。你懂的,经过这么久的时间(一年)已经完全没有印象怎么弄了。。。
然后我其实现在也不知道怎么弄,不过在github上找到了一个别人的开源校准库,就是用来校准投影仪和kinect的https://github.com/genekogan/KinectProjectorToolkit
找到这个以后我其实还是兴奋了一段时间,但是装这个库才是噩梦的开始。。。首先因为他依赖几个库,其中有一个openCV,然后链接到openCV的库以后放到processing的libraries文件夹下面没有用,然后找了半天资料终于有一个中文链接里面写了这些http://shengpo.logdown.com/posts/32578-mac-processing-opencv-2
所以我应该就是要在mac上装一个opencv,然后还有一个英文网页
http://thefactoryfactory.com/wordpress/?p=1093
这两个文章总体来说,就是要装一个Mac Ports。然后用这个再装上opencv,里面还有什么javacvpro、CMake这些东西我已经完全搞不懂了。。。现在的情况就是我有一大堆不懂的地方,然后mac prots安装程序还死了。。。(就在此时好像是装好了。。)
防止我忘记,赶紧打开博客记下来。。。
开始实时更新。。安装完mac ports后运行
sudo port install opencv +java
竟然提示说要安装Command Line Tools,幸亏我之前莫名其妙装了xcode。。。从来都没用过。。。
在命令行输入
xcode-select --install
然后报错了。。。我日我不知道怎么办了。
貌似是安装cmake的时候失败了
用homebrew安装cmake也失败了。。。
发现有一个文章说homebrew和mac ports不兼容
http://www.jianshu.com/p/f9b2c74cb519
所以卸载了mac ports正在用homebrew安装openCV。。。
有几个个人觉得不错的kinect项目
http://tag.wonderhowto.com/project-mimicry-kinect/
http://www.instructables.com/id/RGBD-Toolkit-Aluminum-Mount-for-Kinect-DSLRvide/
http://www.instructables.com/id/How-to-make-a-LANscape/
微软自己也有一个类似的工具包roomalive
https://github.com/Kinect/RoomAliveToolkit
但是需要用vs写。。
恩,经过非人的两天。。终于解决了从github上下载回来的openCV for processing库文件processing不认的原因了。。。。。
原来直接在项目的右边点download zip是不对的。。。要点到release 然后下载zip才行。。。。我!¥!#¥%@!!@¥#!@#¥%
呵呵。。。现在可以了。。