如何用dualcamera代替kinect做體感1

        本DS最近正做一個項目,關於如何利用dualcamera取代kinect做3D sensor的。這個項目關鍵就是如何將dualcamera獲取的RGB資料與3D深度資料寫入DepthMetaData和ImageMetaData結構裡面。DS開始覺得非常簡單,算我當時太DS了吧,既然有辦法通過 memcpy(imgDepth16u->imageData,depthMD.Data(),640*480*2)讀出來,那麼我也可以通過 memcpy(depthMD.Data(),imgDepth16u->imageData,640*480*2)寫進去,當然哥實在太DS了,首先depthMD.Data()返回的是const類型,是不能直接讀寫的,後來哥又DS了,利用const_cast去const ,但仍然無法寫入,因為depthMD的類裡面用於儲存資料的是私有成員,而且這兒是沒有公有函數能改寫的。

        後來在極度無助時,瀏覽了heresy大牛的博客,終於發現了一個類似的方法,裡面提及到利用mock(虛擬)方法進行generator之間的數據傳遞,我仿照他的方法利用了這些函數實現了大笑。哥的公司不能上存圖像,太可憐了,辛苦網友們多加想像力。

xn::DepthMap& rDepthMap = xDepthData.WritableDepthMap();
for( unsigned int y = 0; y < rDepthMap.YRes(); ++ y )
  for( unsigned int x = 0; x < rDepthMap.XRes(); ++ x )
    rDepthMap(  x, y ) = 4069;//圖像全白色
    

         哥的公司不能上存圖像,太可憐了大哭,辛苦網友們多加想像力。

         雖然實現改寫depthMD數據了,但是DS發現一個大問題,那就是openNI似乎必須在kinect硬件下初始化才成功惊恐,主要是context初始化的問題,不知道跟NITE有沒有關系,NITE不是opensource的,大鍋了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值