am e5b4c3d5: am a7dde2e8: Merge "Camera: Fix depth documentation issues" into mnc-dev

* commit 'e5b4c3d5f329ee830c46f92deef23be1dfbead80':
  Camera: Fix depth documentation issues
This commit is contained in:
Eino-Ville Talvala
2015-08-22 00:33:47 +00:00
committed by Android Git Automerger
3 changed files with 34 additions and 21 deletions

View File

@@ -1003,13 +1003,13 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
/** /**
* <p>The orientation of the camera relative to the sensor * <p>The orientation of the camera relative to the sensor
* coordinate system.</p> * coordinate system.</p>
* <p>The four coefficients that describe the quarternion * <p>The four coefficients that describe the quaternion
* rotation from the Android sensor coordinate system to a * rotation from the Android sensor coordinate system to a
* camera-aligned coordinate system where the X-axis is * camera-aligned coordinate system where the X-axis is
* aligned with the long side of the image sensor, the Y-axis * aligned with the long side of the image sensor, the Y-axis
* is aligned with the short side of the image sensor, and * is aligned with the short side of the image sensor, and
* the Z-axis is aligned with the optical axis of the sensor.</p> * the Z-axis is aligned with the optical axis of the sensor.</p>
* <p>To convert from the quarternion coefficients <code>(x,y,z,w)</code> * <p>To convert from the quaternion coefficients <code>(x,y,z,w)</code>
* to the axis of rotation <code>(a_x, a_y, a_z)</code> and rotation * to the axis of rotation <code>(a_x, a_y, a_z)</code> and rotation
* amount <code>theta</code>, the following formulas can be used:</p> * amount <code>theta</code>, the following formulas can be used:</p>
* <pre><code> theta = 2 * acos(w) * <pre><code> theta = 2 * acos(w)
@@ -1018,7 +1018,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
* a_z = z / sin(theta/2) * a_z = z / sin(theta/2)
* </code></pre> * </code></pre>
* <p>To create a 3x3 rotation matrix that applies the rotation * <p>To create a 3x3 rotation matrix that applies the rotation
* defined by this quarternion, the following matrix can be * defined by this quaternion, the following matrix can be
* used:</p> * used:</p>
* <pre><code>R = [ 1 - 2y^2 - 2z^2, 2xy - 2zw, 2xz + 2yw, * <pre><code>R = [ 1 - 2y^2 - 2z^2, 2xy - 2zw, 2xz + 2yw,
* 2xy + 2zw, 1 - 2x^2 - 2z^2, 2yz - 2xw, * 2xy + 2zw, 1 - 2x^2 - 2z^2, 2yz - 2xw,
@@ -1030,7 +1030,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
* <p>where <code>p</code> is in the device sensor coordinate system, and * <p>where <code>p</code> is in the device sensor coordinate system, and
* <code>p'</code> is in the camera-oriented coordinate system.</p> * <code>p'</code> is in the camera-oriented coordinate system.</p>
* <p><b>Units</b>: * <p><b>Units</b>:
* Quarternion coefficients</p> * Quaternion coefficients</p>
* <p><b>Optional</b> - This value may be {@code null} on some devices.</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
*/ */
@PublicKey @PublicKey
@@ -1052,13 +1052,13 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
* user's perspective) will report <code>(0.03, 0, 0)</code>.</p> * user's perspective) will report <code>(0.03, 0, 0)</code>.</p>
* <p>To transform a pixel coordinates between two cameras * <p>To transform a pixel coordinates between two cameras
* facing the same direction, first the source camera * facing the same direction, first the source camera
* android.lens.radialDistortion must be corrected for. Then * {@link CameraCharacteristics#LENS_RADIAL_DISTORTION android.lens.radialDistortion} must be corrected for. Then
* the source camera android.lens.intrinsicCalibration needs * the source camera {@link CameraCharacteristics#LENS_INTRINSIC_CALIBRATION android.lens.intrinsicCalibration} needs
* to be applied, followed by the {@link CameraCharacteristics#LENS_POSE_ROTATION android.lens.poseRotation} * to be applied, followed by the {@link CameraCharacteristics#LENS_POSE_ROTATION android.lens.poseRotation}
* of the source camera, the translation of the source camera * of the source camera, the translation of the source camera
* relative to the destination camera, the * relative to the destination camera, the
* {@link CameraCharacteristics#LENS_POSE_ROTATION android.lens.poseRotation} of the destination camera, and * {@link CameraCharacteristics#LENS_POSE_ROTATION android.lens.poseRotation} of the destination camera, and
* finally the inverse of android.lens.intrinsicCalibration * finally the inverse of {@link CameraCharacteristics#LENS_INTRINSIC_CALIBRATION android.lens.intrinsicCalibration}
* of the destination camera. This obtains a * of the destination camera. This obtains a
* radial-distortion-free coordinate in the destination * radial-distortion-free coordinate in the destination
* camera pixel coordinates.</p> * camera pixel coordinates.</p>
@@ -1069,7 +1069,9 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
* <p><b>Units</b>: Meters</p> * <p><b>Units</b>: Meters</p>
* <p><b>Optional</b> - This value may be {@code null} on some devices.</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
* *
* @see CameraCharacteristics#LENS_INTRINSIC_CALIBRATION
* @see CameraCharacteristics#LENS_POSE_ROTATION * @see CameraCharacteristics#LENS_POSE_ROTATION
* @see CameraCharacteristics#LENS_RADIAL_DISTORTION
*/ */
@PublicKey @PublicKey
public static final Key<float[]> LENS_POSE_TRANSLATION = public static final Key<float[]> LENS_POSE_TRANSLATION =
@@ -1115,7 +1117,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
* where <code>(0,0)</code> is the top-left of the * where <code>(0,0)</code> is the top-left of the
* preCorrectionActiveArraySize rectangle. Once the pose and * preCorrectionActiveArraySize rectangle. Once the pose and
* intrinsic calibration transforms have been applied to a * intrinsic calibration transforms have been applied to a
* world point, then the android.lens.radialDistortion * world point, then the {@link CameraCharacteristics#LENS_RADIAL_DISTORTION android.lens.radialDistortion}
* transform needs to be applied, and the result adjusted to * transform needs to be applied, and the result adjusted to
* be in the {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize} coordinate * be in the {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize} coordinate
* system (where <code>(0, 0)</code> is the top-left of the * system (where <code>(0, 0)</code> is the top-left of the
@@ -1130,6 +1132,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
* *
* @see CameraCharacteristics#LENS_POSE_ROTATION * @see CameraCharacteristics#LENS_POSE_ROTATION
* @see CameraCharacteristics#LENS_POSE_TRANSLATION * @see CameraCharacteristics#LENS_POSE_TRANSLATION
* @see CameraCharacteristics#LENS_RADIAL_DISTORTION
* @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE * @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
* @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE * @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
*/ */
@@ -1156,7 +1159,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
* </code></pre> * </code></pre>
* <p>The pixel coordinates are defined in a normalized * <p>The pixel coordinates are defined in a normalized
* coordinate system related to the * coordinate system related to the
* android.lens.intrinsicCalibration calibration fields. * {@link CameraCharacteristics#LENS_INTRINSIC_CALIBRATION android.lens.intrinsicCalibration} calibration fields.
* Both <code>[x_i, y_i]</code> and <code>[x_c, y_c]</code> have <code>(0,0)</code> at the * Both <code>[x_i, y_i]</code> and <code>[x_c, y_c]</code> have <code>(0,0)</code> at the
* lens optical center <code>[c_x, c_y]</code>. The maximum magnitudes * lens optical center <code>[c_x, c_y]</code>. The maximum magnitudes
* of both x and y coordinates are normalized to be 1 at the * of both x and y coordinates are normalized to be 1 at the
@@ -1169,6 +1172,8 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
* <p><b>Units</b>: * <p><b>Units</b>:
* Unitless coefficients.</p> * Unitless coefficients.</p>
* <p><b>Optional</b> - This value may be {@code null} on some devices.</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
*
* @see CameraCharacteristics#LENS_INTRINSIC_CALIBRATION
*/ */
@PublicKey @PublicKey
public static final Key<float[]> LENS_RADIAL_DISTORTION = public static final Key<float[]> LENS_RADIAL_DISTORTION =
@@ -2262,7 +2267,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
* {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.</p> * {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize}.</p>
* <p>The currently supported fields that correct for geometric distortion are:</p> * <p>The currently supported fields that correct for geometric distortion are:</p>
* <ol> * <ol>
* <li>android.lens.radialDistortion.</li> * <li>{@link CameraCharacteristics#LENS_RADIAL_DISTORTION android.lens.radialDistortion}.</li>
* </ol> * </ol>
* <p>If all of the geometric distortion fields are no-ops, this rectangle will be the same * <p>If all of the geometric distortion fields are no-ops, this rectangle will be the same
* as the post-distortion-corrected rectangle given in * as the post-distortion-corrected rectangle given in
@@ -2275,6 +2280,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
* <p><b>Units</b>: Pixel coordinates on the image sensor</p> * <p><b>Units</b>: Pixel coordinates on the image sensor</p>
* <p>This key is available on all devices.</p> * <p>This key is available on all devices.</p>
* *
* @see CameraCharacteristics#LENS_RADIAL_DISTORTION
* @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE * @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
* @see CameraCharacteristics#SENSOR_INFO_PIXEL_ARRAY_SIZE * @see CameraCharacteristics#SENSOR_INFO_PIXEL_ARRAY_SIZE
* @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE * @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE

View File

@@ -647,8 +647,8 @@ public abstract class CameraMetadata<TKey> {
* {@link android.hardware.camera2.CaptureResult }:<ul> * {@link android.hardware.camera2.CaptureResult }:<ul>
* <li>{@link CameraCharacteristics#LENS_POSE_TRANSLATION android.lens.poseTranslation}</li> * <li>{@link CameraCharacteristics#LENS_POSE_TRANSLATION android.lens.poseTranslation}</li>
* <li>{@link CameraCharacteristics#LENS_POSE_ROTATION android.lens.poseRotation}</li> * <li>{@link CameraCharacteristics#LENS_POSE_ROTATION android.lens.poseRotation}</li>
* <li>android.lens.intrinsicCalibration</li> * <li>{@link CameraCharacteristics#LENS_INTRINSIC_CALIBRATION android.lens.intrinsicCalibration}</li>
* <li>android.lens.radialDistortion</li> * <li>{@link CameraCharacteristics#LENS_RADIAL_DISTORTION android.lens.radialDistortion}</li>
* </ul> * </ul>
* </li> * </li>
* <li>The {@link CameraCharacteristics#DEPTH_DEPTH_IS_EXCLUSIVE android.depth.depthIsExclusive} entry is listed by this device.</li> * <li>The {@link CameraCharacteristics#DEPTH_DEPTH_IS_EXCLUSIVE android.depth.depthIsExclusive} entry is listed by this device.</li>
@@ -667,8 +667,10 @@ public abstract class CameraMetadata<TKey> {
* *
* @see CameraCharacteristics#DEPTH_DEPTH_IS_EXCLUSIVE * @see CameraCharacteristics#DEPTH_DEPTH_IS_EXCLUSIVE
* @see CameraCharacteristics#LENS_FACING * @see CameraCharacteristics#LENS_FACING
* @see CameraCharacteristics#LENS_INTRINSIC_CALIBRATION
* @see CameraCharacteristics#LENS_POSE_ROTATION * @see CameraCharacteristics#LENS_POSE_ROTATION
* @see CameraCharacteristics#LENS_POSE_TRANSLATION * @see CameraCharacteristics#LENS_POSE_TRANSLATION
* @see CameraCharacteristics#LENS_RADIAL_DISTORTION
* @see CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES * @see CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES
*/ */
public static final int REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT = 8; public static final int REQUEST_AVAILABLE_CAPABILITIES_DEPTH_OUTPUT = 8;

View File

@@ -2602,13 +2602,13 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
/** /**
* <p>The orientation of the camera relative to the sensor * <p>The orientation of the camera relative to the sensor
* coordinate system.</p> * coordinate system.</p>
* <p>The four coefficients that describe the quarternion * <p>The four coefficients that describe the quaternion
* rotation from the Android sensor coordinate system to a * rotation from the Android sensor coordinate system to a
* camera-aligned coordinate system where the X-axis is * camera-aligned coordinate system where the X-axis is
* aligned with the long side of the image sensor, the Y-axis * aligned with the long side of the image sensor, the Y-axis
* is aligned with the short side of the image sensor, and * is aligned with the short side of the image sensor, and
* the Z-axis is aligned with the optical axis of the sensor.</p> * the Z-axis is aligned with the optical axis of the sensor.</p>
* <p>To convert from the quarternion coefficients <code>(x,y,z,w)</code> * <p>To convert from the quaternion coefficients <code>(x,y,z,w)</code>
* to the axis of rotation <code>(a_x, a_y, a_z)</code> and rotation * to the axis of rotation <code>(a_x, a_y, a_z)</code> and rotation
* amount <code>theta</code>, the following formulas can be used:</p> * amount <code>theta</code>, the following formulas can be used:</p>
* <pre><code> theta = 2 * acos(w) * <pre><code> theta = 2 * acos(w)
@@ -2617,7 +2617,7 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
* a_z = z / sin(theta/2) * a_z = z / sin(theta/2)
* </code></pre> * </code></pre>
* <p>To create a 3x3 rotation matrix that applies the rotation * <p>To create a 3x3 rotation matrix that applies the rotation
* defined by this quarternion, the following matrix can be * defined by this quaternion, the following matrix can be
* used:</p> * used:</p>
* <pre><code>R = [ 1 - 2y^2 - 2z^2, 2xy - 2zw, 2xz + 2yw, * <pre><code>R = [ 1 - 2y^2 - 2z^2, 2xy - 2zw, 2xz + 2yw,
* 2xy + 2zw, 1 - 2x^2 - 2z^2, 2yz - 2xw, * 2xy + 2zw, 1 - 2x^2 - 2z^2, 2yz - 2xw,
@@ -2629,7 +2629,7 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
* <p>where <code>p</code> is in the device sensor coordinate system, and * <p>where <code>p</code> is in the device sensor coordinate system, and
* <code>p'</code> is in the camera-oriented coordinate system.</p> * <code>p'</code> is in the camera-oriented coordinate system.</p>
* <p><b>Units</b>: * <p><b>Units</b>:
* Quarternion coefficients</p> * Quaternion coefficients</p>
* <p><b>Optional</b> - This value may be {@code null} on some devices.</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
*/ */
@PublicKey @PublicKey
@@ -2651,13 +2651,13 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
* user's perspective) will report <code>(0.03, 0, 0)</code>.</p> * user's perspective) will report <code>(0.03, 0, 0)</code>.</p>
* <p>To transform a pixel coordinates between two cameras * <p>To transform a pixel coordinates between two cameras
* facing the same direction, first the source camera * facing the same direction, first the source camera
* android.lens.radialDistortion must be corrected for. Then * {@link CameraCharacteristics#LENS_RADIAL_DISTORTION android.lens.radialDistortion} must be corrected for. Then
* the source camera android.lens.intrinsicCalibration needs * the source camera {@link CameraCharacteristics#LENS_INTRINSIC_CALIBRATION android.lens.intrinsicCalibration} needs
* to be applied, followed by the {@link CameraCharacteristics#LENS_POSE_ROTATION android.lens.poseRotation} * to be applied, followed by the {@link CameraCharacteristics#LENS_POSE_ROTATION android.lens.poseRotation}
* of the source camera, the translation of the source camera * of the source camera, the translation of the source camera
* relative to the destination camera, the * relative to the destination camera, the
* {@link CameraCharacteristics#LENS_POSE_ROTATION android.lens.poseRotation} of the destination camera, and * {@link CameraCharacteristics#LENS_POSE_ROTATION android.lens.poseRotation} of the destination camera, and
* finally the inverse of android.lens.intrinsicCalibration * finally the inverse of {@link CameraCharacteristics#LENS_INTRINSIC_CALIBRATION android.lens.intrinsicCalibration}
* of the destination camera. This obtains a * of the destination camera. This obtains a
* radial-distortion-free coordinate in the destination * radial-distortion-free coordinate in the destination
* camera pixel coordinates.</p> * camera pixel coordinates.</p>
@@ -2668,7 +2668,9 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
* <p><b>Units</b>: Meters</p> * <p><b>Units</b>: Meters</p>
* <p><b>Optional</b> - This value may be {@code null} on some devices.</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
* *
* @see CameraCharacteristics#LENS_INTRINSIC_CALIBRATION
* @see CameraCharacteristics#LENS_POSE_ROTATION * @see CameraCharacteristics#LENS_POSE_ROTATION
* @see CameraCharacteristics#LENS_RADIAL_DISTORTION
*/ */
@PublicKey @PublicKey
public static final Key<float[]> LENS_POSE_TRANSLATION = public static final Key<float[]> LENS_POSE_TRANSLATION =
@@ -2714,7 +2716,7 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
* where <code>(0,0)</code> is the top-left of the * where <code>(0,0)</code> is the top-left of the
* preCorrectionActiveArraySize rectangle. Once the pose and * preCorrectionActiveArraySize rectangle. Once the pose and
* intrinsic calibration transforms have been applied to a * intrinsic calibration transforms have been applied to a
* world point, then the android.lens.radialDistortion * world point, then the {@link CameraCharacteristics#LENS_RADIAL_DISTORTION android.lens.radialDistortion}
* transform needs to be applied, and the result adjusted to * transform needs to be applied, and the result adjusted to
* be in the {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize} coordinate * be in the {@link CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE android.sensor.info.activeArraySize} coordinate
* system (where <code>(0, 0)</code> is the top-left of the * system (where <code>(0, 0)</code> is the top-left of the
@@ -2729,6 +2731,7 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
* *
* @see CameraCharacteristics#LENS_POSE_ROTATION * @see CameraCharacteristics#LENS_POSE_ROTATION
* @see CameraCharacteristics#LENS_POSE_TRANSLATION * @see CameraCharacteristics#LENS_POSE_TRANSLATION
* @see CameraCharacteristics#LENS_RADIAL_DISTORTION
* @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE * @see CameraCharacteristics#SENSOR_INFO_ACTIVE_ARRAY_SIZE
* @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE * @see CameraCharacteristics#SENSOR_INFO_PRE_CORRECTION_ACTIVE_ARRAY_SIZE
*/ */
@@ -2755,7 +2758,7 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
* </code></pre> * </code></pre>
* <p>The pixel coordinates are defined in a normalized * <p>The pixel coordinates are defined in a normalized
* coordinate system related to the * coordinate system related to the
* android.lens.intrinsicCalibration calibration fields. * {@link CameraCharacteristics#LENS_INTRINSIC_CALIBRATION android.lens.intrinsicCalibration} calibration fields.
* Both <code>[x_i, y_i]</code> and <code>[x_c, y_c]</code> have <code>(0,0)</code> at the * Both <code>[x_i, y_i]</code> and <code>[x_c, y_c]</code> have <code>(0,0)</code> at the
* lens optical center <code>[c_x, c_y]</code>. The maximum magnitudes * lens optical center <code>[c_x, c_y]</code>. The maximum magnitudes
* of both x and y coordinates are normalized to be 1 at the * of both x and y coordinates are normalized to be 1 at the
@@ -2768,6 +2771,8 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
* <p><b>Units</b>: * <p><b>Units</b>:
* Unitless coefficients.</p> * Unitless coefficients.</p>
* <p><b>Optional</b> - This value may be {@code null} on some devices.</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
*
* @see CameraCharacteristics#LENS_INTRINSIC_CALIBRATION
*/ */
@PublicKey @PublicKey
public static final Key<float[]> LENS_RADIAL_DISTORTION = public static final Key<float[]> LENS_RADIAL_DISTORTION =