Loading api/current.txt +0 −8 Original line number Diff line number Diff line Loading @@ -13020,10 +13020,6 @@ package android.hardware.camera2 { field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> LENS_INFO_FOCUS_DISTANCE_CALIBRATION; field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Float> LENS_INFO_HYPERFOCAL_DISTANCE; field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Float> LENS_INFO_MINIMUM_FOCUS_DISTANCE; field public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_INTRINSIC_CALIBRATION; field public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_POSE_ROTATION; field public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_POSE_TRANSLATION; field public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_RADIAL_DISTORTION; field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES; field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> REQUEST_AVAILABLE_CAPABILITIES; field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> REQUEST_MAX_NUM_INPUT_STREAMS; Loading Loading @@ -13443,11 +13439,7 @@ package android.hardware.camera2 { field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> LENS_FOCAL_LENGTH; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> LENS_FOCUS_DISTANCE; field public static final android.hardware.camera2.CaptureResult.Key<android.util.Pair<java.lang.Float, java.lang.Float>> LENS_FOCUS_RANGE; field public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_INTRINSIC_CALIBRATION; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> LENS_OPTICAL_STABILIZATION_MODE; field public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_POSE_ROTATION; field public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_POSE_TRANSLATION; field public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_RADIAL_DISTORTION; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> LENS_STATE; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> NOISE_REDUCTION_MODE; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> REPROCESS_EFFECTIVE_EXPOSURE_FACTOR; api/system-current.txt +0 −8 Original line number Diff line number Diff line Loading @@ -13312,10 +13312,6 @@ package android.hardware.camera2 { field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> LENS_INFO_FOCUS_DISTANCE_CALIBRATION; field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Float> LENS_INFO_HYPERFOCAL_DISTANCE; field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Float> LENS_INFO_MINIMUM_FOCUS_DISTANCE; field public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_INTRINSIC_CALIBRATION; field public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_POSE_ROTATION; field public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_POSE_TRANSLATION; field public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_RADIAL_DISTORTION; field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES; field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> REQUEST_AVAILABLE_CAPABILITIES; field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> REQUEST_MAX_NUM_INPUT_STREAMS; Loading Loading @@ -13735,11 +13731,7 @@ package android.hardware.camera2 { field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> LENS_FOCAL_LENGTH; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> LENS_FOCUS_DISTANCE; field public static final android.hardware.camera2.CaptureResult.Key<android.util.Pair<java.lang.Float, java.lang.Float>> LENS_FOCUS_RANGE; field public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_INTRINSIC_CALIBRATION; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> LENS_OPTICAL_STABILIZATION_MODE; field public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_POSE_ROTATION; field public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_POSE_TRANSLATION; field public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_RADIAL_DISTORTION; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> LENS_STATE; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> NOISE_REDUCTION_MODE; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> REPROCESS_EFFECTIVE_EXPOSURE_FACTOR; core/java/android/hardware/camera2/CameraCharacteristics.java +0 −123 Original line number Diff line number Diff line Loading @@ -938,129 +938,6 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri public static final Key<Integer> LENS_FACING = new Key<Integer>("android.lens.facing", int.class); /** * <p>The orientation of the camera relative to the sensor * coordinate system.</p> * <p>The four coefficients that describe the quarternion * rotation from the Android sensor coordinate system to a * camera-aligned coordinate system where the X-axis is * aligned with the long side of the image sensor, the Y-axis * is aligned with the short side of the image sensor, and * 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> * 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> * <pre><code> theta = 2 * acos(w) * a_x = x / sin(theta/2) * a_y = y / sin(theta/2) * a_z = z / sin(theta/2) * </code></pre> * <p>To create a 3x3 rotation matrix that applies the rotation * defined by this quarternion, the following matrix can be * used:</p> * <pre><code>R = [ 1 - 2y^2 - 2z^2, 2xy - 2zw, 2xz + 2yw, * 2xy + 2zw, 1 - 2x^2 - 2z^2, 2yz - 2xw, * 2xz - 2yw, 2yz + 2xw, 1 - 2x^2 - 2y^2 ] * </code></pre> * <p>This matrix can then be used to apply the rotation to a * column vector point with</p> * <p><code>p' = Rp</code></p> * <p>where <code>p</code> is in the device sensor coordinate system, and * <code>p'</code> is in the camera-oriented coordinate system.</p> * <p><b>Units</b>: * Quarternion coefficients</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> */ @PublicKey public static final Key<float[]> LENS_POSE_ROTATION = new Key<float[]>("android.lens.poseRotation", float[].class); /** * <p>Position of the camera optical center.</p> * <p>As measured in the device sensor coordinate system, the * position of the camera device's optical center, as a * three-dimensional vector <code>(x,y,z)</code>.</p> * <p>To transform a world position to a camera-device centered * coordinate system, the position must be translated by this * vector and then rotated by {@link CameraCharacteristics#LENS_POSE_ROTATION android.lens.poseRotation}.</p> * <p><b>Units</b>: Meters</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> * * @see CameraCharacteristics#LENS_POSE_ROTATION */ @PublicKey public static final Key<float[]> LENS_POSE_TRANSLATION = new Key<float[]>("android.lens.poseTranslation", float[].class); /** * <p>The parameters for this camera device's intrinsic * calibration.</p> * <p>The five calibration parameters that describe the * transform from camera-centric 3D coordinates to sensor * pixel coordinates:</p> * <pre><code>[f_x, f_y, c_x, c_y, s] * </code></pre> * <p>Where <code>f_x</code> and <code>f_y</code> are the horizontal and vertical * focal lengths, <code>[c_x, c_y]</code> is the position of the optical * axis, and <code>s</code> is a skew parameter for the sensor plane not * being aligned with the lens plane.</p> * <p>These are typically used within a transformation matrix K:</p> * <pre><code>K = [ f_x, s, c_x, * 0, f_y, c_y, * 0 0, 1 ] * </code></pre> * <p>which can then be combined with the camera pose rotation * <code>R</code> and translation <code>t</code> ({@link CameraCharacteristics#LENS_POSE_ROTATION android.lens.poseRotation} and * {@link CameraCharacteristics#LENS_POSE_TRANSLATION android.lens.poseTranslation}, respective) to calculate the * complete transform from world coordinates to pixel * coordinates:</p> * <pre><code>P = [ K 0 * [ R t * 0 1 ] 0 1 ] * </code></pre> * <p>and with <code>p_w</code> being a point in the world coordinate system * and <code>p_s</code> being a point in the camera active pixel array * coordinate system, and with the mapping including the * homogeneous division by z:</p> * <pre><code> p_h = (x_h, y_h, z_h) = P p_w * p_s = p_h / z_h * </code></pre> * <p>so <code>[x_s, y_s]</code> is the pixel coordinates of the world * point, <code>z_s = 1</code>, and <code>w_s</code> is a measurement of disparity * (depth) in pixel coordinates.</p> * <p><b>Units</b>: * Pixels in the android.sensor.activeArraySize coordinate * system.</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> * * @see CameraCharacteristics#LENS_POSE_ROTATION * @see CameraCharacteristics#LENS_POSE_TRANSLATION */ @PublicKey public static final Key<float[]> LENS_INTRINSIC_CALIBRATION = new Key<float[]>("android.lens.intrinsicCalibration", float[].class); /** * <p>The correction coefficients to correct for this camera device's * radial lens distortion.</p> * <p>Three cofficients <code>[kappa_1, kappa_2, kappa_3]</code> that * can be used to correct the lens's radial geometric * distortion with the mapping equations:</p> * <pre><code> x_c = x_i * ( 1 + kappa_1 * r^2 + kappa_2 * r^4 + kappa_3 * r^6 ) * y_c = y_i * ( 1 + kappa_1 * r^2 + kappa_2 * r^4 + kappa_3 * r^6 ) * </code></pre> * <p>where <code>[x_i, y_i]</code> are normalized coordinates with <code>(0,0)</code> * at the lens optical center, and <code>[-1, 1]</code> are the edges of * the active pixel array; and where <code>[x_c, y_c]</code> are the * corrected normalized coordinates with radial distortion * removed; and <code>r^2 = x_i^2 + y_i^2</code>.</p> * <p><b>Units</b>: * Coefficients for a 6th-degree even radial polynomial.</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> */ @PublicKey public static final Key<float[]> LENS_RADIAL_DISTORTION = new Key<float[]>("android.lens.radialDistortion", float[].class); /** * <p>List of noise reduction modes for {@link CaptureRequest#NOISE_REDUCTION_MODE android.noiseReduction.mode} that are supported * by this camera device.</p> Loading core/java/android/hardware/camera2/CaptureResult.java +0 −123 Original line number Diff line number Diff line Loading @@ -2531,129 +2531,6 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> { public static final Key<Integer> LENS_STATE = new Key<Integer>("android.lens.state", int.class); /** * <p>The orientation of the camera relative to the sensor * coordinate system.</p> * <p>The four coefficients that describe the quarternion * rotation from the Android sensor coordinate system to a * camera-aligned coordinate system where the X-axis is * aligned with the long side of the image sensor, the Y-axis * is aligned with the short side of the image sensor, and * 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> * 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> * <pre><code> theta = 2 * acos(w) * a_x = x / sin(theta/2) * a_y = y / sin(theta/2) * a_z = z / sin(theta/2) * </code></pre> * <p>To create a 3x3 rotation matrix that applies the rotation * defined by this quarternion, the following matrix can be * used:</p> * <pre><code>R = [ 1 - 2y^2 - 2z^2, 2xy - 2zw, 2xz + 2yw, * 2xy + 2zw, 1 - 2x^2 - 2z^2, 2yz - 2xw, * 2xz - 2yw, 2yz + 2xw, 1 - 2x^2 - 2y^2 ] * </code></pre> * <p>This matrix can then be used to apply the rotation to a * column vector point with</p> * <p><code>p' = Rp</code></p> * <p>where <code>p</code> is in the device sensor coordinate system, and * <code>p'</code> is in the camera-oriented coordinate system.</p> * <p><b>Units</b>: * Quarternion coefficients</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> */ @PublicKey public static final Key<float[]> LENS_POSE_ROTATION = new Key<float[]>("android.lens.poseRotation", float[].class); /** * <p>Position of the camera optical center.</p> * <p>As measured in the device sensor coordinate system, the * position of the camera device's optical center, as a * three-dimensional vector <code>(x,y,z)</code>.</p> * <p>To transform a world position to a camera-device centered * coordinate system, the position must be translated by this * vector and then rotated by {@link CameraCharacteristics#LENS_POSE_ROTATION android.lens.poseRotation}.</p> * <p><b>Units</b>: Meters</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> * * @see CameraCharacteristics#LENS_POSE_ROTATION */ @PublicKey public static final Key<float[]> LENS_POSE_TRANSLATION = new Key<float[]>("android.lens.poseTranslation", float[].class); /** * <p>The parameters for this camera device's intrinsic * calibration.</p> * <p>The five calibration parameters that describe the * transform from camera-centric 3D coordinates to sensor * pixel coordinates:</p> * <pre><code>[f_x, f_y, c_x, c_y, s] * </code></pre> * <p>Where <code>f_x</code> and <code>f_y</code> are the horizontal and vertical * focal lengths, <code>[c_x, c_y]</code> is the position of the optical * axis, and <code>s</code> is a skew parameter for the sensor plane not * being aligned with the lens plane.</p> * <p>These are typically used within a transformation matrix K:</p> * <pre><code>K = [ f_x, s, c_x, * 0, f_y, c_y, * 0 0, 1 ] * </code></pre> * <p>which can then be combined with the camera pose rotation * <code>R</code> and translation <code>t</code> ({@link CameraCharacteristics#LENS_POSE_ROTATION android.lens.poseRotation} and * {@link CameraCharacteristics#LENS_POSE_TRANSLATION android.lens.poseTranslation}, respective) to calculate the * complete transform from world coordinates to pixel * coordinates:</p> * <pre><code>P = [ K 0 * [ R t * 0 1 ] 0 1 ] * </code></pre> * <p>and with <code>p_w</code> being a point in the world coordinate system * and <code>p_s</code> being a point in the camera active pixel array * coordinate system, and with the mapping including the * homogeneous division by z:</p> * <pre><code> p_h = (x_h, y_h, z_h) = P p_w * p_s = p_h / z_h * </code></pre> * <p>so <code>[x_s, y_s]</code> is the pixel coordinates of the world * point, <code>z_s = 1</code>, and <code>w_s</code> is a measurement of disparity * (depth) in pixel coordinates.</p> * <p><b>Units</b>: * Pixels in the android.sensor.activeArraySize coordinate * system.</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> * * @see CameraCharacteristics#LENS_POSE_ROTATION * @see CameraCharacteristics#LENS_POSE_TRANSLATION */ @PublicKey public static final Key<float[]> LENS_INTRINSIC_CALIBRATION = new Key<float[]>("android.lens.intrinsicCalibration", float[].class); /** * <p>The correction coefficients to correct for this camera device's * radial lens distortion.</p> * <p>Three cofficients <code>[kappa_1, kappa_2, kappa_3]</code> that * can be used to correct the lens's radial geometric * distortion with the mapping equations:</p> * <pre><code> x_c = x_i * ( 1 + kappa_1 * r^2 + kappa_2 * r^4 + kappa_3 * r^6 ) * y_c = y_i * ( 1 + kappa_1 * r^2 + kappa_2 * r^4 + kappa_3 * r^6 ) * </code></pre> * <p>where <code>[x_i, y_i]</code> are normalized coordinates with <code>(0,0)</code> * at the lens optical center, and <code>[-1, 1]</code> are the edges of * the active pixel array; and where <code>[x_c, y_c]</code> are the * corrected normalized coordinates with radial distortion * removed; and <code>r^2 = x_i^2 + y_i^2</code>.</p> * <p><b>Units</b>: * Coefficients for a 6th-degree even radial polynomial.</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> */ @PublicKey public static final Key<float[]> LENS_RADIAL_DISTORTION = new Key<float[]>("android.lens.radialDistortion", float[].class); /** * <p>Mode of operation for the noise reduction algorithm.</p> * <p>The noise reduction algorithm attempts to improve image quality by removing Loading Loading
api/current.txt +0 −8 Original line number Diff line number Diff line Loading @@ -13020,10 +13020,6 @@ package android.hardware.camera2 { field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> LENS_INFO_FOCUS_DISTANCE_CALIBRATION; field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Float> LENS_INFO_HYPERFOCAL_DISTANCE; field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Float> LENS_INFO_MINIMUM_FOCUS_DISTANCE; field public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_INTRINSIC_CALIBRATION; field public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_POSE_ROTATION; field public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_POSE_TRANSLATION; field public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_RADIAL_DISTORTION; field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES; field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> REQUEST_AVAILABLE_CAPABILITIES; field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> REQUEST_MAX_NUM_INPUT_STREAMS; Loading Loading @@ -13443,11 +13439,7 @@ package android.hardware.camera2 { field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> LENS_FOCAL_LENGTH; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> LENS_FOCUS_DISTANCE; field public static final android.hardware.camera2.CaptureResult.Key<android.util.Pair<java.lang.Float, java.lang.Float>> LENS_FOCUS_RANGE; field public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_INTRINSIC_CALIBRATION; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> LENS_OPTICAL_STABILIZATION_MODE; field public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_POSE_ROTATION; field public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_POSE_TRANSLATION; field public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_RADIAL_DISTORTION; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> LENS_STATE; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> NOISE_REDUCTION_MODE; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> REPROCESS_EFFECTIVE_EXPOSURE_FACTOR;
api/system-current.txt +0 −8 Original line number Diff line number Diff line Loading @@ -13312,10 +13312,6 @@ package android.hardware.camera2 { field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> LENS_INFO_FOCUS_DISTANCE_CALIBRATION; field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Float> LENS_INFO_HYPERFOCAL_DISTANCE; field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Float> LENS_INFO_MINIMUM_FOCUS_DISTANCE; field public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_INTRINSIC_CALIBRATION; field public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_POSE_ROTATION; field public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_POSE_TRANSLATION; field public static final android.hardware.camera2.CameraCharacteristics.Key<float[]> LENS_RADIAL_DISTORTION; field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> NOISE_REDUCTION_AVAILABLE_NOISE_REDUCTION_MODES; field public static final android.hardware.camera2.CameraCharacteristics.Key<int[]> REQUEST_AVAILABLE_CAPABILITIES; field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> REQUEST_MAX_NUM_INPUT_STREAMS; Loading Loading @@ -13735,11 +13731,7 @@ package android.hardware.camera2 { field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> LENS_FOCAL_LENGTH; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> LENS_FOCUS_DISTANCE; field public static final android.hardware.camera2.CaptureResult.Key<android.util.Pair<java.lang.Float, java.lang.Float>> LENS_FOCUS_RANGE; field public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_INTRINSIC_CALIBRATION; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> LENS_OPTICAL_STABILIZATION_MODE; field public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_POSE_ROTATION; field public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_POSE_TRANSLATION; field public static final android.hardware.camera2.CaptureResult.Key<float[]> LENS_RADIAL_DISTORTION; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> LENS_STATE; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> NOISE_REDUCTION_MODE; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> REPROCESS_EFFECTIVE_EXPOSURE_FACTOR;
core/java/android/hardware/camera2/CameraCharacteristics.java +0 −123 Original line number Diff line number Diff line Loading @@ -938,129 +938,6 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri public static final Key<Integer> LENS_FACING = new Key<Integer>("android.lens.facing", int.class); /** * <p>The orientation of the camera relative to the sensor * coordinate system.</p> * <p>The four coefficients that describe the quarternion * rotation from the Android sensor coordinate system to a * camera-aligned coordinate system where the X-axis is * aligned with the long side of the image sensor, the Y-axis * is aligned with the short side of the image sensor, and * 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> * 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> * <pre><code> theta = 2 * acos(w) * a_x = x / sin(theta/2) * a_y = y / sin(theta/2) * a_z = z / sin(theta/2) * </code></pre> * <p>To create a 3x3 rotation matrix that applies the rotation * defined by this quarternion, the following matrix can be * used:</p> * <pre><code>R = [ 1 - 2y^2 - 2z^2, 2xy - 2zw, 2xz + 2yw, * 2xy + 2zw, 1 - 2x^2 - 2z^2, 2yz - 2xw, * 2xz - 2yw, 2yz + 2xw, 1 - 2x^2 - 2y^2 ] * </code></pre> * <p>This matrix can then be used to apply the rotation to a * column vector point with</p> * <p><code>p' = Rp</code></p> * <p>where <code>p</code> is in the device sensor coordinate system, and * <code>p'</code> is in the camera-oriented coordinate system.</p> * <p><b>Units</b>: * Quarternion coefficients</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> */ @PublicKey public static final Key<float[]> LENS_POSE_ROTATION = new Key<float[]>("android.lens.poseRotation", float[].class); /** * <p>Position of the camera optical center.</p> * <p>As measured in the device sensor coordinate system, the * position of the camera device's optical center, as a * three-dimensional vector <code>(x,y,z)</code>.</p> * <p>To transform a world position to a camera-device centered * coordinate system, the position must be translated by this * vector and then rotated by {@link CameraCharacteristics#LENS_POSE_ROTATION android.lens.poseRotation}.</p> * <p><b>Units</b>: Meters</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> * * @see CameraCharacteristics#LENS_POSE_ROTATION */ @PublicKey public static final Key<float[]> LENS_POSE_TRANSLATION = new Key<float[]>("android.lens.poseTranslation", float[].class); /** * <p>The parameters for this camera device's intrinsic * calibration.</p> * <p>The five calibration parameters that describe the * transform from camera-centric 3D coordinates to sensor * pixel coordinates:</p> * <pre><code>[f_x, f_y, c_x, c_y, s] * </code></pre> * <p>Where <code>f_x</code> and <code>f_y</code> are the horizontal and vertical * focal lengths, <code>[c_x, c_y]</code> is the position of the optical * axis, and <code>s</code> is a skew parameter for the sensor plane not * being aligned with the lens plane.</p> * <p>These are typically used within a transformation matrix K:</p> * <pre><code>K = [ f_x, s, c_x, * 0, f_y, c_y, * 0 0, 1 ] * </code></pre> * <p>which can then be combined with the camera pose rotation * <code>R</code> and translation <code>t</code> ({@link CameraCharacteristics#LENS_POSE_ROTATION android.lens.poseRotation} and * {@link CameraCharacteristics#LENS_POSE_TRANSLATION android.lens.poseTranslation}, respective) to calculate the * complete transform from world coordinates to pixel * coordinates:</p> * <pre><code>P = [ K 0 * [ R t * 0 1 ] 0 1 ] * </code></pre> * <p>and with <code>p_w</code> being a point in the world coordinate system * and <code>p_s</code> being a point in the camera active pixel array * coordinate system, and with the mapping including the * homogeneous division by z:</p> * <pre><code> p_h = (x_h, y_h, z_h) = P p_w * p_s = p_h / z_h * </code></pre> * <p>so <code>[x_s, y_s]</code> is the pixel coordinates of the world * point, <code>z_s = 1</code>, and <code>w_s</code> is a measurement of disparity * (depth) in pixel coordinates.</p> * <p><b>Units</b>: * Pixels in the android.sensor.activeArraySize coordinate * system.</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> * * @see CameraCharacteristics#LENS_POSE_ROTATION * @see CameraCharacteristics#LENS_POSE_TRANSLATION */ @PublicKey public static final Key<float[]> LENS_INTRINSIC_CALIBRATION = new Key<float[]>("android.lens.intrinsicCalibration", float[].class); /** * <p>The correction coefficients to correct for this camera device's * radial lens distortion.</p> * <p>Three cofficients <code>[kappa_1, kappa_2, kappa_3]</code> that * can be used to correct the lens's radial geometric * distortion with the mapping equations:</p> * <pre><code> x_c = x_i * ( 1 + kappa_1 * r^2 + kappa_2 * r^4 + kappa_3 * r^6 ) * y_c = y_i * ( 1 + kappa_1 * r^2 + kappa_2 * r^4 + kappa_3 * r^6 ) * </code></pre> * <p>where <code>[x_i, y_i]</code> are normalized coordinates with <code>(0,0)</code> * at the lens optical center, and <code>[-1, 1]</code> are the edges of * the active pixel array; and where <code>[x_c, y_c]</code> are the * corrected normalized coordinates with radial distortion * removed; and <code>r^2 = x_i^2 + y_i^2</code>.</p> * <p><b>Units</b>: * Coefficients for a 6th-degree even radial polynomial.</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> */ @PublicKey public static final Key<float[]> LENS_RADIAL_DISTORTION = new Key<float[]>("android.lens.radialDistortion", float[].class); /** * <p>List of noise reduction modes for {@link CaptureRequest#NOISE_REDUCTION_MODE android.noiseReduction.mode} that are supported * by this camera device.</p> Loading
core/java/android/hardware/camera2/CaptureResult.java +0 −123 Original line number Diff line number Diff line Loading @@ -2531,129 +2531,6 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> { public static final Key<Integer> LENS_STATE = new Key<Integer>("android.lens.state", int.class); /** * <p>The orientation of the camera relative to the sensor * coordinate system.</p> * <p>The four coefficients that describe the quarternion * rotation from the Android sensor coordinate system to a * camera-aligned coordinate system where the X-axis is * aligned with the long side of the image sensor, the Y-axis * is aligned with the short side of the image sensor, and * 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> * 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> * <pre><code> theta = 2 * acos(w) * a_x = x / sin(theta/2) * a_y = y / sin(theta/2) * a_z = z / sin(theta/2) * </code></pre> * <p>To create a 3x3 rotation matrix that applies the rotation * defined by this quarternion, the following matrix can be * used:</p> * <pre><code>R = [ 1 - 2y^2 - 2z^2, 2xy - 2zw, 2xz + 2yw, * 2xy + 2zw, 1 - 2x^2 - 2z^2, 2yz - 2xw, * 2xz - 2yw, 2yz + 2xw, 1 - 2x^2 - 2y^2 ] * </code></pre> * <p>This matrix can then be used to apply the rotation to a * column vector point with</p> * <p><code>p' = Rp</code></p> * <p>where <code>p</code> is in the device sensor coordinate system, and * <code>p'</code> is in the camera-oriented coordinate system.</p> * <p><b>Units</b>: * Quarternion coefficients</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> */ @PublicKey public static final Key<float[]> LENS_POSE_ROTATION = new Key<float[]>("android.lens.poseRotation", float[].class); /** * <p>Position of the camera optical center.</p> * <p>As measured in the device sensor coordinate system, the * position of the camera device's optical center, as a * three-dimensional vector <code>(x,y,z)</code>.</p> * <p>To transform a world position to a camera-device centered * coordinate system, the position must be translated by this * vector and then rotated by {@link CameraCharacteristics#LENS_POSE_ROTATION android.lens.poseRotation}.</p> * <p><b>Units</b>: Meters</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> * * @see CameraCharacteristics#LENS_POSE_ROTATION */ @PublicKey public static final Key<float[]> LENS_POSE_TRANSLATION = new Key<float[]>("android.lens.poseTranslation", float[].class); /** * <p>The parameters for this camera device's intrinsic * calibration.</p> * <p>The five calibration parameters that describe the * transform from camera-centric 3D coordinates to sensor * pixel coordinates:</p> * <pre><code>[f_x, f_y, c_x, c_y, s] * </code></pre> * <p>Where <code>f_x</code> and <code>f_y</code> are the horizontal and vertical * focal lengths, <code>[c_x, c_y]</code> is the position of the optical * axis, and <code>s</code> is a skew parameter for the sensor plane not * being aligned with the lens plane.</p> * <p>These are typically used within a transformation matrix K:</p> * <pre><code>K = [ f_x, s, c_x, * 0, f_y, c_y, * 0 0, 1 ] * </code></pre> * <p>which can then be combined with the camera pose rotation * <code>R</code> and translation <code>t</code> ({@link CameraCharacteristics#LENS_POSE_ROTATION android.lens.poseRotation} and * {@link CameraCharacteristics#LENS_POSE_TRANSLATION android.lens.poseTranslation}, respective) to calculate the * complete transform from world coordinates to pixel * coordinates:</p> * <pre><code>P = [ K 0 * [ R t * 0 1 ] 0 1 ] * </code></pre> * <p>and with <code>p_w</code> being a point in the world coordinate system * and <code>p_s</code> being a point in the camera active pixel array * coordinate system, and with the mapping including the * homogeneous division by z:</p> * <pre><code> p_h = (x_h, y_h, z_h) = P p_w * p_s = p_h / z_h * </code></pre> * <p>so <code>[x_s, y_s]</code> is the pixel coordinates of the world * point, <code>z_s = 1</code>, and <code>w_s</code> is a measurement of disparity * (depth) in pixel coordinates.</p> * <p><b>Units</b>: * Pixels in the android.sensor.activeArraySize coordinate * system.</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> * * @see CameraCharacteristics#LENS_POSE_ROTATION * @see CameraCharacteristics#LENS_POSE_TRANSLATION */ @PublicKey public static final Key<float[]> LENS_INTRINSIC_CALIBRATION = new Key<float[]>("android.lens.intrinsicCalibration", float[].class); /** * <p>The correction coefficients to correct for this camera device's * radial lens distortion.</p> * <p>Three cofficients <code>[kappa_1, kappa_2, kappa_3]</code> that * can be used to correct the lens's radial geometric * distortion with the mapping equations:</p> * <pre><code> x_c = x_i * ( 1 + kappa_1 * r^2 + kappa_2 * r^4 + kappa_3 * r^6 ) * y_c = y_i * ( 1 + kappa_1 * r^2 + kappa_2 * r^4 + kappa_3 * r^6 ) * </code></pre> * <p>where <code>[x_i, y_i]</code> are normalized coordinates with <code>(0,0)</code> * at the lens optical center, and <code>[-1, 1]</code> are the edges of * the active pixel array; and where <code>[x_c, y_c]</code> are the * corrected normalized coordinates with radial distortion * removed; and <code>r^2 = x_i^2 + y_i^2</code>.</p> * <p><b>Units</b>: * Coefficients for a 6th-degree even radial polynomial.</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> */ @PublicKey public static final Key<float[]> LENS_RADIAL_DISTORTION = new Key<float[]>("android.lens.radialDistortion", float[].class); /** * <p>Mode of operation for the noise reduction algorithm.</p> * <p>The noise reduction algorithm attempts to improve image quality by removing Loading