Camera1

使用流程:

  1. 检查相机权限(android.permission.CAMERA)
  2. Camera.getNumberOfCameras():获取相机硬件数量;
  3. Camera.getCameraInfo():获取指定相机信息;
  4. Camera.open():打开指定相机;
  5. camera.getParameters():获取相机参数并设置;
  6. camera.setPreviewTexture(st):设置用于相机预览的surfaceTexutre
  7. camera.setDisplayOrientation(90):设置预览旋转角度
  8. camera.startPreview():开始预览

关键类:

  • Camera 相机类,定义了open、startPreview、takePicture、AutoFocus、setDisplayOrientation、setPreviewTexture等方法。

    实例方式:mCamera = Camera.open(camId)

  • Camera.CameraInfo 相机信息类,元数据获取

  • Camera.Parameters 相机参数类,参数设置,定义了setFocusMode,setPreviewSize、setFlashMode等方法,通过mCamera.getParameters()获取

Camera2

使用流程:

  • 检查相机权限(android.permission.CAMERA)
  • cameraManager = (CameraManager) getSystemService(CAMERA_SERVICE);
  • cameraManager.getCameraIdList():获取相机硬件id集合
  • cameraManager.getCameraCharacteristics(cameraId):获取相机信息
  • cameraManager.openCamera(cameraId,cameraCallback,null); 开启相机
  • CameraDevice.StateCallback回调中获取cameraDevice
  • cameraDevice.createCaptureSession(surfaces,new CameraCaptureSession.StateCallback(),null) 创建捕获会话,surfaces作为捕获的图像数据的输出的目标
  • CameraCaptureSession.StateCallback回调中获取到CameraCaptureSession
  • CaptureRequest.Builder 创建请求,通过键值对的方式设置参数
  • cameraCaptureSession.setRepeatingRequest(previewRequest,
    captureCallback, null); 发送请求

关键类:

  • CameraManager 相机管理器,在Camera打开之前主要操作CameraManager,打开后主要操作CameraCaptureSession。

    getSystemService(Context.CAMERA_SERVICE);

  • CameraCharacteristics 摄像头属性,相当于Camera1的CameraInfo。 通过获取Camera属性信息,配置Camera输出,如FPS,大小,旋转等。

    mCameraManager.getCameraCharacteristics(currentCameraId);

  • CameraDevice 用于创建CameraCaptureSession和关闭摄像头。

    cameraManager.openCamera(cameraId,cameraCallback,null);
    cameraCallback的回调中获取到实例对象

  • CameraCaptureSession 相机捕获会话,CameraCaptureSession建立了一个和Camera硬件设备的会话通道,可以通过这个会话向Camera发送请求获取图像。
    setRepeatingRequest():控制预览;capture():控制拍照。

  • CaptureRequest.Builder 请求构造器,Map,以键值对的方式设置请求参数。

  • CaptureRequest 预览或拍照,都需要CaptureRequest参数。CaptureRequest代表了一次捕获请求,其中包含了捕获图片的参数设置,比如对焦模式、曝光模式等

Camera1、Camera2 API的使用相关推荐

  1. android 自定义录像机,android-camera2 - 将自定义捕获请求构建器选项设置为使用Camera2 API捕获图像以使用OpenCV库进行摄像机校准 - 堆栈内存溢出...

    我们正在使用Camera2 API捕获N张图像,而未设置任何自定义捕获请求构建器选项. 我们正在使用这些图像通过OpenCV Android库411进行相机校准. 然后,我们正在使用OpenCV An ...

  2. android surfaceview 大小_Android 使用Camera2 API采集视频数据

    Android 视频数据采集系列的最后一篇出炉了,和前两篇文章想比,这篇文章从系统API层面进行一些探索,涉及到的细节更多.初次接触 Camera2 API 会觉得它的使用有些繁琐,涉及到的类有些多, ...

  3. android camera捕捉,通过android camera2 API捕捉4:3相机图片与16:9传感器阵列相机

    我想从使用Camera2 API(Android 5.0版本中添加)的Android fron-facing相机以4:3的宽高比捕捉视频.它工作正常,除非相机有16:9传感器阵列(作为三星Galaxy ...

  4. android 颜色反转 api,来自Android camera2 API的图像数据在Galaxy S5上翻转和压缩

    我正在实现一个应用程序,它使用来自相机的实时图像进行实时图像处理.使用现已弃用的android.hardware.Camera,它有限制地工作;提高灵活性和性能我想使用新的android.hardwa ...

  5. android Camera2 API使用详解

    原文:android Camera2 API使用详解 由于最近需要使用相机拍照等功能,鉴于老旧的相机API问题多多,而且新的设备都是基于安卓5.0以上的,于是本人决定研究一下安卓5.0新引入的Came ...

  6. android camera2 API流程分析

    Android camera2 API流程分析 Android5.0之后,新推出来了一个类,android.hardware.camera2,与原来的camera的类实现照相和拍视频的流程有所不同,原 ...

  7. 第48讲 Android Camera2 API FD人脸检测

    本讲是Android Camera专题系列的第48讲,我们介绍Android Camera2 API专题的FD人脸检测,包括如下内容: FD Metadata FD模式 FD Results FD 实 ...

  8. android Camera2 API适配百度人脸识别SDK

    Camera2 API替换Camera API之后的问题 camera和camera2的最主要区别之一就是camera2不再支持nv21的输出,通常我们为了使视频预览更加的流畅,会采用YUV_420_ ...

  9. android camera hal3 分析,HAL3 enabler下载-HAL3 enabler(开启camera2 api)下载v5.0 安卓版-西西软件下载...

    HAL3 enabler(开启camera2 api)让你无需Magisk模块就能够轻松的开启手机当中的camera2 api功能.对于想要将手机当中的相机功能玩出更多花样的人来说,这绝对是一款极为便 ...

  10. android dng图片,android - 使用Camera2 API拍摄dng图片 - 堆栈内存溢出

    我正在创建一个应用程序,该应用程序以.dng格式拍摄图片以对其进行处理. 我正在使用camera2 API. 我可以拍照并将其保存到手机中,但格式为.jpg. 但是,当我更改代码以使用.dng扩展名保 ...

最新文章

  1. java调用PageOffice生成word
  2. Swift中关于可选类型(?)与强制解析(!)的特性
  3. C语言快速幂取模算法小结
  4. CVPR 2020 开源论文 | 多种可能性行人未来路径预测
  5. FewRel 2.0数据集:以近知远,以一知万,少次学习新挑战
  6. 2016matlab安装
  7. 60TB 数据量的作业从 Hive 迁移到 Spark 在 Facebook 的实践
  8. C、C++语言中参数的压栈顺序
  9. 星云的Linux专用学习手册
  10. Android PreferenceScreen介绍
  11. 【yishen】黑苹果 声卡驱动
  12. 创建一个三维空间形状,算立方体,球体,正三棱锥表面积体积
  13. 编程吸金榜:你排第几?网友神回应了 !
  14. excel表格如何打斜杠
  15. 第一篇 厚黑学 二、厚黑学
  16. QQ开始对每日添加好友人数作出限制(转)
  17. 开发推荐书单 程序员必读书目推荐 测试必读书目 管理必读 技术组长必读 前端开发必读
  18. 金字塔原理(6)- 确定逻辑顺序
  19. 共模电压 matlab,三电平并网逆变器共模电压抑制方法研究
  20. c语言中管道符作用,由Linux中管道的buffer,浅谈C语言中char类型字符串拷贝使用strcpy()和=赋值符号的区别...

热门文章

  1. 马蜂窝事件背后暴露出的数据风险 1
  2. nginx下TCP负载均衡配置
  3. 最全的BAT大厂面试题整理,“干完”这份300页1000道面试题,大厂Offer拿到手软
  4. java jdbctemplate的增删改查的实现
  5. 四种数据类型转换字符串类型的 三种方法
  6. IoU系列(IoU, GIoU, DIoU, CIoU)
  7. 桌面图标阴影去除/祛除桌面图标阴影
  8. 基于深度学习的图像融合-论文整理【2022版】
  9. Webstorm配置本地服务器
  10. Python实现K临近法(KNN)回归(村里最笨的小鸡都可以学会)阅读预计20分钟