当前位置: 首页 > wzjs >正文

国外修图教程网站网站建设人员分工表

国外修图教程网站,网站建设人员分工表,seo点击,免费网站是如何盈利的1. 常用对象CameraManager 相机服务。用于获取相机对象和相机信息。CameraDevices 相机设备。负责连接相机、创建会话、生成拍摄请求,管理相机生命周期。CameraCaptureSession 相机拍摄会话。用于预览和拍摄。一个相机只能有一个活跃会话。打开新会话时,…

1. 常用对象

  1. CameraManager 相机服务。用于获取相机对象和相机信息。
  2. CameraDevices 相机设备。负责连接相机、创建会话、生成拍摄请求,管理相机生命周期。
  3. CameraCaptureSession 相机拍摄会话。用于预览和拍摄。一个相机只能有一个活跃会话。打开新会话时,旧会话自动关闭。
  4. SessionConfiguration 拍摄会话配置。
  5. CaptureRequest 拍摄请求。通知相机进行拍摄。每个请求产生一个CaptureResult对象,并为目标Surface产生帧。请求可以通过addTarget关联若干个Surface,但它们必须是创建拍摄会话时使用的Surface的子集。
  6. CameraCharacteristics 相机信息。
  7. CaptureResult 部分拍摄结果信息。
  8. TotalCaptureResult 完整拍摄结果信息。
  9. ImageReader 图片读取器。接收图片的对象。
  10. Surface 底片。接收或展示原始影像的对象,是数据管道终点。可以绑定到SurfaceView(预览)、ImageReader(获取图像)或MediaRecorder(录制视频)。

2. 监听器

  1. CameraDevice.StateCallback 相机状态监听器。
  2. CameraCaptureSession.StateCallback 相机拍摄会话状态监听器。
  3. CameraCaptureSession.CaptureCallback 拍摄结果监听器。CaptureCallback只通知结果,图片需要从ImageReader.OnImageAvailableListener中获取。CaptureCallback和OnImageAvailableListener不保证发生顺序。
  4. ImageReader.OnImageAvailableListener 图片监听器。
  5. SurfaceTexture.OnFrameAvailableListener 帧就绪监听器。
  6. MediaRecorder.OnInfoListener​ 录制状态监听器。
  7. MediaRecorder.OnErrorListener 录制错误监听器。

3. 使用Camera2 API时涉及的线程/进程

  1. 相机服务进程 cameraserver系统进程(用户态服务),负责管理相机硬件资源、处理底层传感器控制和图像处理流水线。包括打开/关闭相机设备、配置会话、处理捕获请求和返回元数据,通过Binder与应用进程通信。
  2. 图像渲染线程 处理预览画面和拍照结果的渲染,通常与显示界面(如 SurfaceView/TextureView)绑定。
    1. SurfaceView 由系统单独创建渲染线程(非主线程),通过双缓冲机制高效更新预览画面。
    2. TextureView 依赖主线程或 OpenGL 线程渲染,需开启硬件加速,但更灵活(支持缩放、旋转)。
    3. 数据接收 通过ImageReader的OnImageAvailableListener在子线程中异步接收图像数据。
  3. 应用主线程 管理UI交互、权限请求、生命周期回调,并协调其他线程的工作。所有Camera2耗时操作(如打开相机、创建会话)需在后台线程执行,避免阻塞UI。通常使用HandlerThread配合Handler处理回调。通过Handler将相机事件(如 onCaptureCompleted)从后台线程转发到主线程更新UI。

4. CaptureRequest分类

  1. 重复请求。通过setRepeatingRequest()提交的请求会持续执行,形成一个持续请求链,直到被手动停止(stopRepeating())或被新请求覆盖。主要用于预览等需连续输出图像流的场景,例如实时显示摄像头画面。重复请求不阻塞后续请求,系统自动按帧率持续处理。但优先级较低,可被单次请求(如拍照)中断。中断后需要手动恢复预览。
  2. 单次请求。通过capture()或captureBurst()提交,执行后自动清除。适用于拍照、手动对焦锁定等需即时触发的操作。单次请求优先级高,会中断重复请求运行。请求提交后立即返回,拍摄结果通过回调异步返回。

在CameraCaptureSession中,可以连续且不等待拍摄完成就发送新CaptureRequest。但要注意避免请求过多超出流水线容量,导致帧丢弃或延迟。可以通过CaptureCallback监听状态,控制请求频率。通过CameraCharacteristics的REQUEST_PIPELINE_MAX_DEPTH可以得到流水线容量。

5. 拍摄一张照片需要确认下列资源或状态就绪

  1. 资源就绪。
    1. 获得授权。
    2. 相机CameraDevice就绪。
    3. 相机拍摄会话CameraCaptureSession就绪。
    4. 图像阅读器ImageReader就绪(提供Surface)。
  2. 3A状态就绪。
    1. 自动曝光AE收敛(AE_STATE_CONVERGED)或锁定(AE_STATE_LOCKED)。否则可能过曝/欠曝。
    2. 自动对焦AF锁定(AF_STATE_FOCUSED_LOCKED)。连续对焦模式下可以容忍ACTIVE_SCAN状态。否则可能主体模糊或焦点偏移。
    3. 自动白平衡AWB收敛(AWB_STATE_CONVERGED)。否则可能产生色偏。
  3. 其他状态
    1. 闪光灯充电完成(FLASH_STATE_READY)。否则可能导致闪光失败或亮度不足。
    2. 光学防抖OIS镜片稳定(LENS_STATE_STATIONARY)。否则可能防抖不生效。
    3. 降噪模式(NOISE_REDUCTION_MODE_HIGH_QUALITY)。否则可能降噪算法不生效。
    4. 传感器稳定性(SENSOR_SENSITIVITY)。

6. 中断3A算法的操作

  1. 切换控制模式CONTROL_MODE。
  2. 切换场景模式SCENE_MODE。
  3. 触发3A操作。
  4. 锁定或解锁3A参数。
  5. 停止预览流stopRepeating()。
  6. 请求中包含与当前3A参数冲突的3A参数。
  7. 重启相机或会话。
  8. 光线剧烈变化。

7. 拍摄请求处理路径

CameraCaptureSessionImpl.captureCameraDeviceImpl.captureCameraDeviceImpl.submitCaptureRequest检查Target和Surfacethrow "Each request must have at least one Surface target"throw "Null Surface targets are not allowed"stopRepeating() // 中断重复请求。ICameraDeviceUserWrapper.submitRequestList()ICameraDeviceUser.submitRequestList()// 通过ICameraDeviceUser.aidl调用C++代码。CameraDeviceClient::submitRequestListCamera3Device::captureListCamera3Device::submitRequestsHelperif (repeating) Camera3Device::RequestThread::setRepeatingRequestsList<sp<CaptureRequest>> mRepeatingRequests.push_back// 后续由Camera3Device::RequestThread异步处理。elseCamera3Device::RequestThread::queueRequestListList<sp<CaptureRequest>> mRequestQueue.push_back// 后续由Camera3Device::RequestThread异步处理。

8. 后台线程主循环

Camera3Device::RequestThread::threadLoop() {waitForNextRequestBatch();prepareHalRequests();sendRequestsBatch();Camera3Device::HalInterface::processBatchCaptureRequestsCameraDeviceSession::processCaptureRequestCameraDeviceSession::processOneCaptureRequestcamera3_device_t->ops->process_capture_requestcamera3_device_ops.process_capture_request// 通用实现。Camera::processCaptureRequestCamera::processCaptureBuffer
}

9. 使用DngCreator保存RAW_SENSOR影像的条件

  1. 拍摄完成,已经得到TotalCaptureResult结果。
  2. ImageReader.OnImageAvailableListener已经收到图片。

10. CaptureCallback用于跟踪拍摄请求处理进度

  1. onCaptureStarted 相机开始拍摄(曝光)
  2. onReadoutStarted 相机开始读取传感器数据
  3. onCapturePartial 拍摄获得部分结果
  4. onCaptureProgressed 拍摄获得进展
  5. onCaptureCompleted 单次拍摄完成
  6. onCaptureFailed 拍摄失败
  7. onCaptureSequenceCompleted 拍摄序列全部完成
  8. onCaptureSequenceAborted 拍摄序列中断
  9. onCaptureBufferLost
http://www.dtcms.com/wzjs/565119.html

相关文章:

  • 网站制作企业对比网页制作图片代码
  • 龙岩网站建设费用松岗做网站价格
  • 网站忘了怎么办啊网站建设好后打开是目录文件
  • 如何建设公司网站信息灌云网站建设
  • 网站建设整个流程wordpress 查询表
  • 灵犀 科技高端网站建设企业级网站开发项目教程
  • 广州远洋建设实业公司网站国家住房和城乡建设厅网站
  • 手机端网站建站流程产品推广方法
  • 重庆教育建设有限公司网站网站建设是怎么赚钱的
  • 镇江网站开发公司wordpress 导出pdf文件大小
  • 做网站或者app遵义网站制作和推广
  • 江西省城乡住房建设厅培训网站云免网站空间
  • 单页网站设计WordPress 主从同步
  • 网站建设明薇通网络价格美丽北京网络网站推广
  • 可信网站认证不做中国建设招标网站
  • 北京做家政网站有哪些平台怎么做网站链接
  • 商城网站开发项目文档wordpress 积分购买
  • 如何做切片网站汶上公司网站建设
  • 上海建设网站是国家级吗好游快游app官方网站下载
  • 平顶山建设局网站网址大全下载到桌面
  • 网站开发构建工具暴雪时分电视剧免费观看
  • 微商城免费开通泉州网站seo公司
  • 沧州免费网站建设长沙 外贸网站建设公司价格
  • 那曲做网站html代码大全表格
  • 建立自己的网站平台做电子商务网站的公司
  • 安装网站出现dir公司网站建设的目的和意义
  • 北京诚通新新建设有限公司网站做a视频 免费网站
  • 福州精美个人网站建设公司国家工信部备案网站
  • 濮阳做网站做网站要什么功能
  • 帮做3d模型的网站景区加强网站建设