2011-08-31 182 views
2

我從下面的代碼中收集Kinect RGB攝像機的連續圖像;從WPF上的Kinect RGB攝像機接收連續圖像?

 PlanarImage Image = e.ImageFrame.Image; 
     video.Source = BitmapSource.Create(
      Image.Width, Image.Height, 96, 96, PixelFormats.Bgr32, null, Image.Bits, Image.Width * Image.BytesPerPixel); 

,我想流的一系列從我得到的Kinect作爲我的WPF應用程序實時流的圖像,但我不知道怎麼樣。原因是我想能夠使用Kinect作爲網絡攝像頭,但其他解決方案(編碼directshow過濾器,或者只使用一個可用的解決方案)並不適合我解決問題或者缺乏對C++問題的瞭解。爲Kinect編寫一個直接顯示過濾器來充當虛擬凸輪,這對於使用C++的人來說是極具挑戰性的。總之,問題在於Kinect的輸出,它給了我一系列的圖像,我不知道如何將它轉換爲可以從其他應用程序顯示的實時流。

任何幫助表示讚賞謝謝!

回答

2

如果商業庫是一個選項,看看http://www.visioforge.com/video-capture-sdk-net2.html - 它可以捕捉並以WMV流...

另一種商業選擇是LEADTOOLS Videostreaming SDK - 見http://www.leadtools.com/sdk/video-streaming.htm

+0

感謝您的回覆!但是,如果只有Kinect會給我一個視頻流,我可以使用Expression Encoder SDK對我的硬盤或網絡攝像頭上的視頻進行編碼和流式傳輸。問題是,它爲每個幀提供連續的圖像,我不知道如何將其轉化爲實時流並進行流式傳輸。檢查了圖書館,但無法找到我要找的東西,會尋找更多,謝謝! – umutto

+1

我懷疑這些庫支持你的場景 - 例如從第一個鏈接'JPEG/MJPEG,MPEG-4和H.264 HTTP/RTSP IP攝像機,支持高清攝像頭' - 恕我直言,JPEG格式正是你的場景,使確保你可以郵寄...... – Yahia

+0

謝謝,我已經向兩個SDK提供商發送了一些與我的情況相關的電子郵件。看到這些商業產品和kinect和IP攝像機之間的相似性。我還在尋找更便宜的商業圖書館,併發送電子郵件像瘋了一樣,我的配偶沒有更好的選擇.. – umutto

2

DirectShow確實是您最好的選擇。 WPF中沒有什麼能夠將視頻流式傳輸到其他應用程序。

+0

感謝您的回覆!我可以使用Expression Encoder SDK將視頻流式傳輸爲另一種選擇,但問題在於Kinect的輸出。它不給我一個視頻流,它給了我一系列平面圖像,我不知道如何實時流式傳輸。爲Kinect寫一個DirectShow過濾器來充當虛擬凸輪是非常困難的,因此我試圖尋找替代方案。但是,謝謝! – umutto

1

正如上文Kinect上方的評論會生成一系列圖像,而不是生成流式視頻。

本頁面會同時從Kinect在微軟Kinect SDK提取深度數據是有幫助的:

http://www.i-programmer.info/programming/hardware/2714-getting-started-with-microsoft-kinect-sdk-depth.html

如果您使用的處理,你可以導入,支持視頻拍攝的SimpleOpenNI庫(https://code.google.com/p/simple-openni/) (你可以在庫中找到例子)。

該視頻流進來.ONI格式,它可以通過以下庫被轉換成AVI: http://kirilllykov.github.io/blog/2013/03/19/convert-openni-star-dot-oni-files-into-avi/

所有最優秀的,讓我們知道,如果你發現任何其他方法。

+1

感謝您的評論,自從我參與該項目以來,我們已經有一段時間了,但由於簽證問題,我們不得不推遲開發:(。我暫時使用了這個(http:// social)。 msdn.microsoft.com/Forums/en-US/4ee6e7ca-123d-4838-82b6-e5816bf6529c/can-now-use-kinect-camera-with-skype?forum=kinectsdk)的工作,我不認爲它我會和新的sdk一起工作,但我一定會考慮你的回答以達到自我滿足的目的,歡呼! – umutto