0
저는 google-project-tango를 처음 사용합니다. 나는 구글 익스플로러 랩과 비슷한 포인트 클라우드 애플리케이션을 만들고 싶다. 탱고 카메라 미리보기를 살펴보고 코드를 추가했습니다. 오른쪽 상단 구석에서 카메라 피드를 볼 수 없습니다.자바 포인트 클라우드에 비디오 오버레이 추가하기
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_jpoint_cloud);
mTangoCameraPreview = (TangoCameraPreview)findViewById(R.id.VideoOverLay);
mRenderer = setupGLViewAndRenderer();
mPointCloudManager = new TangoPointCloudManager();
mTangoUx = setupTangoUxAndLayout();
setupTextViewsAndButtons();
}
이 연결 탱고 방법 : 사전에
private void connectTango() {
// Connect to color camera
mTangoCameraPreview.connectToTangoCamera(mTango,
TangoCameraIntrinsics.TANGO_CAMERA_COLOR);
// Use the default configuration plus add depth sensing
TangoConfig config = mTango.getConfig(TangoConfig.CONFIG_TYPE_DEFAULT);
config.putBoolean(TangoConfig.KEY_BOOLEAN_DEPTH, true);
mTango.connect(config);
mIsConnected.set(true);
// Listen for new Tango data
mTango.connectListener(FRAME_PAIRS, new OnTangoUpdateListener() {
@Override
public void onPoseAvailable(final TangoPoseData pose) {
// Passing in the pose data to UX library produce exceptions.
if (mTangoUx != null) {
mTangoUx.updatePoseStatus(pose.statusCode);
}
}
@Override
public void onXyzIjAvailable(final TangoXyzIjData xyzIj) {
if (mTangoUx != null) {
mTangoUx.updateXyzCount(xyzIj.xyzCount);
}
mPointCloudManager.updateXyzIj(xyzIj);
final double currentTimeStamp = xyzIj.timestamp;
final double pointCloudFrameDelta = (currentTimeStamp - mXyIjPreviousTimeStamp)
* SECS_TO_MILLISECS;
mXyIjPreviousTimeStamp = currentTimeStamp;
final double averageDepth = getAveragedDepth(xyzIj.xyz);
mXyzIjTimeToNextUpdate -= pointCloudFrameDelta;
if (mXyzIjTimeToNextUpdate < 0.0) {
mXyzIjTimeToNextUpdate = UPDATE_INTERVAL_MS;
final String pointCountString = Integer.toString(xyzIj.xyzCount);
runOnUiThread(new Runnable() {
@Override
public void run() {
mPointCountTextView.setText(pointCountString);
mAverageZTextView.setText(FORMAT_THREE_DECIMAL.format(averageDepth));
}
});
}
}
@Override
public void onTangoEvent(final TangoEvent event) {
if (mTangoUx != null) {
mTangoUx.updateTangoEvent(event);
}
}
@Override
public void onFrameAvailable(int cameraId) {
// Check if the frame available is for the camera we want and
// update its frame on the camera preview.
if (cameraId == TangoCameraIntrinsics.TANGO_CAMERA_COLOR) {
//Log.d("Message:","Camera");
mTangoCameraPreview.onFrameAvailable();
}
}
});
}
감사합니다, Gurjeet 싱 나는이 문제의 해결책을 발견