Android Camera系列学习笔记 (开篇)

Camera安卓源码-高通mm_camera架构剖析 主要涉及三方面: 1. Camera open 2. Camera preview 3. Camera capture1. Camera Open mm_camera&mm_camera_open() 首先,mm_camera层用一个结构体去表示从底层获取的camera对象,这个结构体叫做mm_camera_obj。 如下结构体所示,mm_camera对象包含了两个线程: 1. mm_ 阅读详情

以前写博客都像是随笔,看了很多大牛的博客之后,发现他们都是有计划的在组织知识体系。虽然现在水平还没到达到那样的程度,不妨也来模仿一下。

首先整理下我对于Camera的理解,并且今后一定要尽快完成这部分的学习:

1 Camera的App开发。
2 Camera的框架层。
3 Camera的HAL层。
4 Camera的驱动层。
5 Camera的硬件模组。

我个人认为,作为一个不是写camera驱动的工程师,如果想了解android中camera的工作原理,最好是先从使用,或者说先了解一下camera能做什么,或者说android给我们暴露了什么样的接口可能更容易一些。

比如我们使用手机等摄影设备的时候,听说过的一些常用名词,分辨率,帧率,3A(AE,AF,AWB),ISO等等这些东西。以及最基本的流程,拍照,录像,延时录像等等这些用户常用流程。

知道了这些app开发过程中会用到的东西,那么我们是不是很好奇为什么我们可以使用JAVA语言进行开发,从我们的理解上驱动都是用C语言写的,那么JAVA是怎么调用到驱动来完成相应工作的呢?

接下来,我会沿着这个思路一步步的将我的学习历程记录下来。

Android Camera获取预览流
Android Camera实现图像复制

Android Camera系列(一):SurfaceView+Camera 本文介绍了Camera+SurfaceView的基本操作及关键代码,但是你如果看github中代码会发现和文中出入很大。其原因在于文章我想用一种简单的方式让没有做过自定义Camera的人也能明白。而github中的项目我已经进行了多次重构、抽象。其中包括对Camera的抽象,定义ICameraManager接口。对预览的View的重构,定义BaseCameraView接口,以及预览视图的众多超类。 阅读详情

相关推荐

安卓Camera2笔记

由于最近同学一直在做这个人脸识别方面的集成,正好一起研究一下。 Camera2是用来替代Camera类的 API Level21及以上可以用是,也就是安卓5.0版本及以上。 Platform Version API Level VERSION_CODE Android 5.0 21 LOLLIPOP Camera2使用流程为: 1.检查相机权限 2.获取相...

这只猴子没有名字的博客 742

android相机开发书籍,Android Camera 驱动开发入门必备知识有哪些?

1:硬件相关:简单的数字电路要懂,看的懂电路图(这个很简单),能根据电路找到相应Camera硬件连接的GPIO,并根据芯片手册配置GPIO为相应的模式;比如GPIO模式,输入IO或输出IO;或配置成PWM模式;不同的模式这个GPIO的工作方式是不同的;2:Camera驱动:比如ov5640;你要找本Linux驱动相关的书看看,比如《linux设备驱动程序》知道简单的linux设备驱动写法;当然工作...

weixin_29589357的博客 1403

Android 笔记 camera2 新api

android.hardware.camera2 API 21,

super_zq的博客 8849

Camera几个重要名词概念

本文系转载,作者:zgolee,来源于 http://blog.youkuaiyun.com/lizhiguo0532/article/category/909576,本文将作者的几篇文章合成一篇,方便学习查看   一、快门与曝光 1. 快门 快门是镜头前阻挡光线进来的装置,一般而言快门的时间范围越大越好。       秒数低适合拍运动中的物体,某款相机就强调快门最快能到1/16000秒,

shen924的专栏 7395

Android Camera2学习笔记——API

Android Camera2常用API记录

修行的乞丐 1680

Android Camera预览

简介 因工作原因要学习Android的Camera预览功能,这个DEMO有两个Activity,使用Camera库实现

haowenlai2008的博客 3482

Android Camera参考资料

谷歌文档: https://source.android.google.cn/devices/camera https://developer.android.google.cn/reference/android/hardware/camera2/package-summary 博客: ...

限量发行的专栏 325

[Android Camera]关于Android Camera Orientation的一些总结

近日来,一直学习Android Camera 的API, 希望自己可以订制一个Camera 应用. 经过学习和实践, 关于摄像头 横竖屏的问题,弄了很长时间,网上看了很多方法,都一一实践.这里做个总结. 首先安全打开摄像头,这里就不多说了 mCamera = Camera.open(id); 一. 设置preview 横竖屏 使用的方法是:  mCamera.setDi

懒惰是最大的敌人 3885

Android camera2 框架学习记录

安卓相机架构概览 Android系统利用分层思想,将各层的接口定义与实现分离开来,以接口作为各层的脉络连接整体框架,将具体实现的主导权交由各自有具体实现需求的平台厂商或者Android 开发者,这样既做到把控全局,也给予了众多开发者足够大的创作空间,这体现出了一个优秀的开源系统应有的胸怀和远见。其中,谷歌根据职能的不同将Camera框架一共划分成了五层,分别是App、Service、Provider、Driver以及Hardware,下面的Camera的整体架构图很清晰地显示出了其五层架构以及相互的关联接口

qq_33209777的博客 1388

Android Camera HAL3 - 开篇词

好久没有写技术文章了,写这类东西需要耗费的精力太多,但是最近工作中频繁会接触到 Camera 的知识,不总结下看来也是对不起我新买的笔记本,这篇就算是稀里糊涂的开篇文章吧。技术类的文章产出总归是要非常慢的,之前写的 OpenMax 和 V4L2 每一篇都耗费了极长的时间,写的过程中会很苦恼,怎么组织自己的语言都感觉没法很好的表达自己的想法,让人忍不住时不时想口吐芬芳。 Camera 基础模块 Ca...

YellowMax 3188

RK3568平台(camera篇)安卓hal3适配usb camera

Camera hal3 在 android 框架中所处的位置如上图, 对上,主要实现 Framework 一整套 API 接口,响应其 控制命令,返回数据与控制参数结果。对下, 主要是通 V4l2 框架实现与 kernel 的交互。3a 控制则是通 control loop 接口与 camera_engine_isp 交互。另外,其中一些组件或功能的实现也会调用到其他一些第三方 库, 如 cameraBuffer 相关,会调用到 Galloc 相关库, jpeg 编码则会调用到 Hwjpeg 相关库。

weixin_49303682的博客 2959

Android学习笔记 - Camera(1)

在APP开发中会有很多业务使用到Camera,对于一些基础的功能,调用系统的拍摄功能就可以满足要求。但是需要自定义UI界面时,例如将摄像头捕获的视图展示在页面上的时候就需要使用到Camera这个类了。

HaveFun_Wine的博客 1976

基于光电传感的非接触式酒精浓度检测系统设计与实现

本文详细介绍了基于光电传感技术的非接触式酒精浓度检测系统设计与实现。系统利用940nm红外LED和OPT101光电传感器,结合朗伯-比尔定律,通过STM32微控制器进行信号采集与处理,实现了快速、准确的酒精浓度测量,测量精度达±1%,适用于工业检测和便携式应用场景。

y7z8a的博客 364

Android Camera了解一下

首发于公众号 Android Camera了解一下 Camera 演进简介 最近在项目中遇到 Camera相关的场景,之前对这块不是很了解,趁机补了一下盲区。Android Camera 相关也是生态碎片化较为严重的一块,Android FrameWorkt提供Camera API来实现拍照与屏幕录制的能力,目前Android有三类API Camera (为了便于区分 下面简称 Camera1) 此类是用于控制设备相机的旧版API,在Android5.0以下使用,现已Deprecated Cam..

Android茶话会 9658

保姆级教程:用STM32CubeMX给STM32F407配置RTC秒中断,并解决掉电时间丢失问题

本文详细介绍了如何使用STM32CubeMX为STM32F407配置RTC秒中断,并解决掉电时间丢失问题。通过硬件原理与软件配置的双视角解析,帮助开发者实现精确计时与时间持久化,适用于物联网设备和工业控制器等场景。

weixin_42519733的博客 136

潜行游戏设计:核心机制与关卡设计解析

潜行游戏作为动作游戏的重要分支,通过视觉遮蔽、声音传播和AI行为树等复杂系统,为玩家提供独特的策略体验。视觉隐蔽系统采用视野锥和光照值的双重判定,声学传播模型模拟距离衰减和材质穿透,而敌人AI行为树则包含巡逻、警戒和团队协作等状态节点。这些技术不仅提升了游戏的真实感和挑战性,还在《合金装备》《刺客信条》等经典作品中得到广泛应用。潜行游戏的关卡设计强调多路径拓扑结构和环境叙事元素,通过沙漏模型和动态难度调节,平衡自由度和开发成本。未来,基于ML的适应性AI和物理模拟的隐蔽系统将成为创新方向。

weixin_42497762的博客 180

Android Camera2使用笔记

1. Android Camera2简介 Android 5.0 (API Level 21)重新设计Camera,并提供了一个全新的API——Camera2。Camera2基本上和Camera1没什么继承性,完全是重新设计。在Camera2中Google引入了Session/Request的概念,从使用上更加复杂,同时也支持更多特性,比如可以控制曝光、控制感光度、支持Raw格式输出。当然坑也更...

矩阵实验室 5678

ChatGPT Web转API工具:原理、部署与集成实战

在AI应用开发中,API(应用程序编程接口)是实现系统间通信和数据交换的核心技术,它通过标准化的请求响应机制,将复杂功能封装为可编程的服务。其工作原理基于HTTP协议,通过定义清晰的端点、方法和数据格式,使不同平台的应用能够高效集成AI能力。这一技术价值在于极大降低了开发门槛,促进了自动化流程和智能功能的快速落地,广泛应用于智能客服、内容生成和创意辅助等场景。本文聚焦于如何通过浏览器自动化技术,将ChatGPT的Web界面能力转化为标准API服务,其中涉及Playwright无头浏览器操作和会话Cookie

weixin_42533910的博客 1765

Android学习笔记之——Camera2架构

之前博文《Android学习笔记之——调用前后置相机的视频流》已经实现了视频流的捕获与显示了。本博文继续学习一下Android中的camera相关的API 目录 Camera2 调取camera的流程 CaptureRequest CameraCaptureSession CameraDevice CameraManager Surface和CaptureRequest Test demo1 参考资料 Camera2 全新的android.hardware.Camera...

gwpscut的博客 4386

LabVIEW进行MQTT通信及数据解析

该文章介绍了LabVIEW的MQTT通信的开源VI控制,以及如果进行数据的解析,特别是一些需要注意的点

heda3的博客 4106

【回眸】Tessy集成测试软件使用指南(一)新手使用篇

这个专栏的文章前4篇都在记录如何使用Tessy进行单元测试,集成测试需要有一定单元测试基础,且做集成测试之前,需要做好单元测试,否则将会大幅增加软件单元代码纠错的代价。集成测试所花费的时间通常远远超过单元测试。如果直接从单元测试到系统测试,结果往往是不理想的。集成测试可以检测由于单元相互交互而导致的错误,通常由一组专业的测试人员执行。

啤酒鸭的物联网开发记录博客 5280

Android Camera笔记

**Android Camera笔记** Camera框架: APP Camera 2 1、获取camera service getSystemService(Context.CAMERA_SERVICE); 2、打开camera mCameraManager.openCamera(cameraId, mCameraDeviceStateCallback, mhandler); 3、在mCameraDeviceStateCallback回调onOpened函数中创建ca...

weixin_37663265的博客 1255

YOLOv11改进,YOLOv11添加ASFF检测头,并添加小目标检测层(四头检测),适合目标检测、分割等任务,全网首发

YOLOv11改进,YOLOv11添加ASFF检测头,并添加小目标检测层(四头检测),适合目标检测、分割等任务,全网首发

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 4735

Android Camera

Android 的相机硬件抽象层 (HAL) 可将 Camera 2 中较高层级的相机框架 API 连接到底层的相机驱动程序和硬件。相机子系统包括相机管道组件的实现,而相机 HAL 可提供用于实现您的这些组件版本的接口。

JackGe_41314721的博客 1550

智能生活中枢:基于 ESP32-S3 的桌面智能助手与日程提醒终端设计与实现

本文完成了基于 ESP32-S3 的桌面智能助手与日程提醒终端的完整设计,实现了时间同步、日程管理、声光提醒、环境监测、本地存储等核心功能。硬件接线简洁、软件逻辑清晰,可直接制作成品使用。硬件方案:以 ESP32-S3 为核心,搭配 OLED、DS3231、DHT11、按键、声光模块,接线标准化、易复刻;软件方案:基于 Arduino 开发,提供标准 Mermaid 软件流程图,代码模块化、可直接编译运行;核心功能:网络授时、本地日程管理、掉电存储、声光提醒、温湿度监测,满足桌面智能助手全场景需求。

weixin_42300449的博客 209

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Android Camera 五 Camera HAL v1

Android Camera 一 源码路径 Android Camera 二 JNI JAVA和C/CPP图像数据传输流程分析 Android Camera 三 CameraService 和 Client 链接到 HAL Android Camera 四 Camera HAL 分析 Android Camera 五 Camera HAL v1 Linux v4l2 一 应用层 Lin...

qq_38907791的博客 2601

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

上一篇: git入门(7)-Git tags----为版本打上tags
下一篇: Android Camera获取预览流
野-百-合
博客等级 码龄17年 308粉丝 118原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值