Camera in Android
CaptureRequest就是 “一次拍摄的指令书”,告诉相机 怎么拍、拍完送到哪,然后交给CameraCaptureSession去执行。proper合适capabilities能力substantially大量地 slightly稍许cleaner清洁工roughly大约。4reprocessable可再处理的可加工,可重用。characterizing特征描述;22algorithms算法
25.CameraManager
/**
* A system service manager for detecting, characterizing, and connecting to
* {@link CameraDevice CameraDevices}.</p>
*
* <p>For more details about communicating with camera devices, read the Camera
* developer guide or the {@link android.hardware.camera2 camera2}
* package documentation.</p>
characterizing特征描述;特性刻画
detecting检测
22algorithms算法
specify详细列出 subset子集 request请求reprocess
21.CaptureRequest
CaptureRequest 就是 “一次拍摄的指令书”,告诉相机 怎么拍、拍完送到哪,然后交给 CameraCaptureSession 去执行。
An immutable package of settings and outputs needed to capture a single
* image from the camera device
/**
* <p>An immutable package of settings and outputs needed to capture a single
* image from the camera device.</p>
*
* <p>Contains the configuration for the capture hardware (sensor, lens, flash),
* the processing pipeline, the control algorithms, and the output buffers. Also
* contains the list of target Surfaces to send image data to for this
* capture.</p>
*
* <p>CaptureRequests can be created by using a {@link Builder} instance,
* obtained by calling {@link CameraDevice#createCaptureRequest}</p>
*
* <p>CaptureRequests are given to {@link CameraCaptureSession#capture} or
* {@link CameraCaptureSession#setRepeatingRequest} to capture images from a camera.</p>
*
* <p>Each request can specify a different subset of target Surfaces for the
* camera to send the captured data to. All the surfaces used in a request must
* be part of the surface list given to the last call to
* {@link CameraDevice#createCaptureSession}, when the request is submitted to the
* session.</p>
*
* <p>For example, a request meant for repeating preview might only include the
* Surface for the preview SurfaceView or SurfaceTexture, while a
* high-resolution still capture would also include a Surface from a ImageReader
* configured for high-resolution JPEG images.</p>
*
* <p>A reprocess capture request allows a previously-captured image from the camera device to be
* sent back to the device for further processing. It can be created with
* {@link CameraDevice#createReprocessCaptureRequest}, and used with a reprocessable capture session
* created with {@link CameraDevice#createReprocessableCaptureSession}.</p>
19properties属性 20immutable不可变的
18.CameraCharacteristics
The properties describing a CameraDevice.
/**
* <p>The properties describing a
* {@link CameraDevice CameraDevice}.</p>
*
* <p>These properties are fixed for a given CameraDevice, and can be queried
* through the {@link CameraManager CameraManager}
* interface with {@link CameraManager#getCameraCharacteristics}.</p>
*
* <p>When obtained by a client that does not hold the CAMERA permission, some metadata values are
* not included. The list of keys that require the permission is given by
* {@link #getKeysNeedingPermission}.</p>
*
* <p>{@link CameraCharacteristics} objects are immutable.</p>
*
* @see CameraDevice
* @see CameraManager
*/
17.HandlerThread
/** * A {@link Thread} that has a {@link Looper}. * The {@link Looper} can then be used to create {@link Handler}s. * <p> * Note that just like with a regular {@link Thread}, {@link #start()} must still be called
cameraManager = (CameraManager) getSystemService(CAMERA_SERVICE);
cameraThread = new HandlerThread("CameraThread");
cameraThread.start();
cameraHandler = new Handler(cameraThread.getLooper());
Plain Text
10-16
proper合适capabilities能力substantially大量地 slightly稍许cleaner清洁工roughly大约
Licensed under the Apache License, Version 2.0.
http://www.apache.org/licenses/LICENSE-2.0
9fine-grain细粒度
8asynchronously
7allocating分配
6pipelines管道
5internal内部
4reprocessable可再处理的可加工,可重用
3desired 渴望的
2previously此前
1.CameraCaptureSession
* A configured capture session for a {@link CameraDevice}, used for capturing images from the
* camera or reprocessing images captured from the camera in the same session previously
/**
* A configured capture session for a {@link CameraDevice}, used for capturing images from the
* camera or reprocessing images captured from the camera in the same session previously.
*
* <p>A CameraCaptureSession is created by providing a set of target output surfaces to
* {@link CameraDevice#createCaptureSession createCaptureSession}, or by providing an
* {@link android.hardware.camera2.params.InputConfiguration} and a set of target output surfaces to
* {@link CameraDevice#createReprocessableCaptureSession createReprocessableCaptureSession} for a
* reprocessable capture session. Once created, the session is active until a new session is
* created by the camera device, or the camera device is closed.
*
* <p>All capture sessions can be used for capturing images from the camera but only reprocessable
* capture sessions can reprocess images captured from the camera in the same session previously.
*
* <p>Creating a session is an expensive operation and can take several hundred milliseconds, since
* it requires configuring the camera device's internal pipelines and allocating memory buffers for
* sending images to the desired targets. Therefore the setup is done asynchronously, and
* {@link CameraDevice#createCaptureSession createCaptureSession} and
* {@link CameraDevice#createReprocessableCaptureSession createReprocessableCaptureSession} will
* send the ready-to-use CameraCaptureSession to the provided listener's
* {@link CameraCaptureSession.StateCallback#onConfigured onConfigured} callback. If configuration
* cannot be completed, then the
* {@link CameraCaptureSession.StateCallback#onConfigureFailed onConfigureFailed} is called, and the
* session will not become active.
* <p>Any capture requests (repeating or non-repeating) submitted before the session is ready will
* be queued up and will begin capture once the session becomes ready. In case the session cannot be
* configured and {@link StateCallback#onConfigureFailed onConfigureFailed} is called, all queued
* capture requests are discarded.
更多推荐
所有评论(0)