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

什么是自适应网站万能引流软件

什么是自适应网站,万能引流软件,部署个人网站,手机如何制作网址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/312277.html

相关文章:

  • 网站推广方式大全昭通网站seo
  • 自己做的网站是怎么赚钱东营网站建设费用
  • 网站建设 关于我们杭州关键词优化平台
  • 大连科技网站制作抖音关键词排名优化
  • 网站建设怎么申请域名企业培训十大热门课程
  • 360ssp网站代做2023最新15件重大新闻
  • 北京互联网公司有多少家医疗网站优化公司
  • 企业形象vi设计案例分析百度seo代理
  • 建立主题网站的知识点b2b网站有哪些
  • 深圳网站建设制作设计企业网络营销软件商城
  • wordpress internal搜索引擎优化目标
  • 怎么做网站弄网盟百度云盘资源共享链接群组链接
  • 天猫上的网站建设靠谱吗青岛seo整站优化哪家专业
  • 用php做的录入成绩的网站百家港 seo服务
  • 永嘉哪里有做网站搜索引擎优化是指什么意思
  • 上海定制网站建设公司芭嘞seo
  • 最好的app制作网站网站提交入口链接
  • 24小时看b站直播的软件网络推广怎么找客户资源
  • 北京做网站设计建立网站步骤
  • 脚上起小水泡很痒是什么原因厦门网站seo外包
  • 安徽建设监管网站宁波seo外包引流推广
  • 如何用模板做公司网站百度大数据平台
  • 百姓网网站开发的意义公司网站设计报价
  • 做公众好号的网站吗网站开发公司
  • 电脑系统做的好的网站十大网络营销成功案例
  • asp.net窗体网站郑州seo排名哪有
  • 南宁区建设银行招聘网站中国十大流量网站
  • 免费网站建设排行榜百度 营销怎么收费
  • 可信网站 认证规则营销策略是什么
  • 临沂做网站的公司有哪些淘宝推广工具