2016-11-23 73 views
0

我想要使用android camera2 API獲取從物體到android設備的距離。在CaptureCallback中,我收到result.get(CaptureResult.LENS_FOCUS_DISTANCE)的值,同時檢查LENS_STATE, CONTROL_AF_MODE, CONTROL_AF_STATE。他們是「STATIONARY」,CONTINUOUS_PICTUREPASSIVE_FOCUSED。我認爲焦距應該是有效的,從物體到安卓設備的距離應該是1/focus_distance。但實際上計算值與實際距離完全不同。它出什麼問題了? LENS_FOCUS_DISTANCE是距離估計的正確值嗎?任何人有想法?如何使用camera2獲取從物體到android設備的距離API

final CameraCaptureSession.CaptureCallback captureCallbackListener = new CameraCaptureSession.CaptureCallback() { 
    @Override 
    public void onCaptureCompleted(CameraCaptureSession session, CaptureRequest request, TotalCaptureResult result) { 
     super.onCaptureCompleted(session, request, result); 
     Log.e(TAG, String.format("captureCallbackListener %s-%f", lensStateToString(result.get(CaptureResult.LENS_STATE)), result.get(CaptureResult.LENS_FOCUS_DISTANCE))); 
     Log.e(TAG, String.format("AF mode %s-%s", ctlAfModeToString(result.get(CaptureResult.CONTROL_AF_MODE)), ctlAfStateToString(result.get(CaptureResult.CONTROL_AF_STATE)))); 
    } 
}; 
+0

可能重複[是否有可能用相機測量物體的距離?](http://stackoverflow.com/questions/4588485/is-it-possible-to-measure-distance-to-object-with-相機) – SaravInfern

+0

要避免投票,請嘗試先搜索您的查詢,然後發佈問題 –

回答

0

請檢查CameraCharacteristics.LENS_INFO_FOCUS_DISTANCE_CALIBRATION的值。如果是UNCALIBRATED或APPROXIMATE,那麼LENS_FOCUS_DISTANCE的值可能不會接近實際。

即使有了CALIBRATED,對象越遠,出現的錯誤就越多 - 對於相機而言,超焦距(超過幾米)的所有東西開始無法準確測量距離。