我剛拿到我的平板電腦,我以前有過電話。正如大多數人所知道的,手機的SDK允許通過android攝像頭回調捕獲超幀。如果正確解析,超幀包含所有相關的傳感器數據。在Java Tango SDK(或C SDK)中獲取色彩數據
在阿基米德,我嘗試了以下。我做了一個實現CameraPreviewListener活動:
public class MainActivity extends Activity implements CameraPreviewListener
{
// Inside of this class we manage another object that implements PreviewCallback
...
}
這使得攝像機圖像的拍攝,就像它其他任何Android設備上。 (請注意,在Peanut手機上,這提供了超幀;這只是在平板電腦上提供了原始RGB緩衝區。)同樣,Tango服務的簡單回調函數也可以正常工作。
public class MainActivity extends Activity
{
private Tango mTango;
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
...
setTangoListeners();
}
private void setTangoListeners()
{
mTango.connectListener(framePairs, new OnTangoUpdateListener() {
@Override
public void onPoseAvailable(final TangoPoseData pose)
{
System.out.println("Pose data received.");
}
@Override
public void onXyzIjAvailable(final TangoXyzIjData xyzIj)
{
System.out.println("Cloud data received.");
}
@Override
public void onTangoEvent(final TangoEvent event)
{
...
}
}
}
然而,當我嘗試這兩個結合在一起,像這樣,
public class MainActivity extends Activity implements CameraPreviewListener
{
// Inside of this class we manage another object that implements PreviewCallback
private Tango mTango;
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
...
setTangoListeners();
}
private void setTangoListeners()
{
mTango.connectListener(framePairs, new OnTangoUpdateListener() {
@Override
public void onPoseAvailable(final TangoPoseData pose)
{
System.out.println("Pose data received.");
}
@Override
public void onXyzIjAvailable(final TangoXyzIjData xyzIj)
{
System.out.println("Cloud data received.");
}
@Override
public void onTangoEvent(final TangoEvent event)
{
...
}
}
}
奇怪的事情發生。相機回調啓動得很好,並且我也獲得了onPoseAvailable回調。但是,我不再收到onXyzIjAvailable的任何回調。
所以我的問題是:
上午我在假設的探戈服務需要訪問攝像機的回調產生點雲數據是否正確?
如果是這樣,是否還有,這樣我可以在大致相同的時間獲得RGB緩衝區和Pointcloud? (是的,我知道校準不是微不足道的。)
如果沒有解決方案2,是否有任何未來的SDK更新計劃,將允許這樣的事情?
我還沒有探索過C SDK。也許有辦法在那裏做,如果是的話,有沒有人有任何經驗借貸?
理想情況下,我想訪問原始RGB緩衝區,強度圖像和魚眼圖像;我不在乎如何,只要它有效。
您持有哪款平板電腦?這是「黃石」建築嗎? – 2014-11-06 19:21:19