前些天在淘宝上订购了Kinect,刚刚到货,对于这个新鲜的玩意儿,自己赶紧卸开包裹,插上PC机,先前已经装好了Kinect SDK(官方下载地址:http://research.microsoft.com/en-us/um/redmond/projects/kinectsdk/download.aspx)
![4caedc7aga62f734b0791&690通过COM组件在Web上实现Kinect骨骼追踪、声控截屏保存的功能kinect声控](/Files/20116/47721c29-00c4-4e69-8e2f-80fe41a15318.jpg)
希望自己的机子能够跑得动DEMO,最后送了一口气,正常运行:)。当然了,既然Kinect已经入手,自己打算也小小地练一下手,因为自己目前主要从事Web方面的开发,自然想到,如果能够在网页上能够运行Kinect该有多好啊!后来考虑了三种方案:
1)在Web应用程序上引用Kinect SDK的DLL(Microsoft.Research.Kinect.dll),可以正常引用,通过img标签或者页面输出图像流的方式显示Bitmap图像,当然你还需要定时刷新页面,当然这种方式的缺点可想而知,就是不够实时性。并且增加了服务器的负担。
2)通过Silverlight应用程序的方式,但是目前SL4/5均不支持Kinect的dll,这是由于Kinect是个.Net Framework的类库,非SL支持的客户端类库。另外,在非OOB的模式下,也SL目前不支持自定义的COM组件,希望微软团队将来能够让SL也支持Kinect。
3)通过ActiveX的COM组件技术,通过开发窗体组件,产生ActiveX插件,嵌套在IE浏览器中进行显示。
于是,我考虑了最简单的方式,通过ActiveX的技术在网页上对Kinect相关基本功能进行展示。
本文会分成三个部分来叙述:
一、ActiveX插件的实现;
二、Kinect基本功能的实现;
三、ActiveX的安装;
具体实现 第一部分 ActiveX插件的实现 1) 创建一个新的解决方案,叫做MyFirstKinect。
2)接着创建一个Windows窗体控件库,用于做ActiveX的插件,项目叫做MyFirstKinectControl
![image4caedc7aga62f734b0791&690通过COM组件在Web上实现Kinect骨骼追踪、声控截屏保存的功能kinect声控](/Files/20116/52e08cf3-073e-4a9c-a06b-0784c6ca7cd0.png)
3)在MyFirstKinectControl项目的右键点击“属性”,选择“生成”项:
![imageimage4caedc7aga62f734b0791&690通过COM组件在Web上实现Kinect骨骼追踪、声控截屏保存的功能kinect声控](/Files/20116/e72953b9-9119-4364-935c-cbb1502d5ee9.png)
将”为COM互操作注册”勾上,然后关闭。
4)打开AssemblyInfo.cs:
![imageimageimage4caedc7aga62f734b0791&690通过COM组件在Web上实现Kinect骨骼追踪、声控截屏保存的功能kinect声控](/Files/20116/1be05c55-c4ef-4cf9-bfec-11fd0b3c0240.png)
将ComVisible设置为true,并将下面这行注释掉(这个很重要,切记!)
对应地,需要在自定义窗体控件上加上该Guid:
![imageimageimageimage4caedc7aga62f734b0791&690通过COM组件在Web上实现Kinect骨骼追踪、声控截屏保存的功能kinect声控](/Files/20116/ad3d18cf-0900-4c62-81e1-787cf93a1927.png)
至此,一个基本的COM组件已经实现了,现在来看下该如何在浏览器上显示ActiveX插件。
5)打开Visual Studio的命令提示符:输入“oleview”,页面会打开一个“OLE/COM Object Viewer”应用程序:
![imageimageimageimageimage4caedc7aga62f734b0791&690通过COM组件在Web上实现Kinect骨骼追踪、声控截屏保存的功能kinect声控](/Files/20116/672ccdae-ccbc-4dcd-9c3b-60b88ad28445.png)
由于我是使用C#创建的COM组件,于是在“.NET Category”寻找刚才创建的”MyFirstKinectControl”:
![imageimageimageimageimageimage4caedc7aga62f734b0791&690通过COM组件在Web上实现Kinect骨骼追踪、声控截屏保存的功能kinect声控](/Files/20116/0e2e3634-4362-4194-b637-96ab3bf0ae21.png)
右键选择“Copy HTML
最新评论