1、Camera成像原理介绍 Camera工作流程图 Camera的成像原理可以简单概括如下: 景物(SCENE)通过镜头(LENS)生成的光学图像投射到图像传感器(Sensor)表面上,然后转为电信号,经过A/D(模数转换)转换后变为数字图像信号,再送到数字信号处理芯片(DSP)中加工处理,再通过IO接口传输到CPU中处理,通过DISPLAY就可以看到图像了。 电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)接收光学镜头传递来的影像,经模/数转换器(A/D)转换成数字信号,经过编码后存储。 流程如下: 数码相机的光学镜头与传统相机相同,将影像聚到感光器件上,即(光)电荷耦合器件(CCD) 。CCD替代了传统相机中的感光胶片的位置,其功能是将光信号转换成电信号,与电视摄像相同。 CCD是半导体器件,是数码相机的核心,其内含器件的单元数量决定了数码相机的成像质量——像素,单元越多,即像素数高,成像质量越好,通常情况下像素的高低代表了数码相机的档次和技术指标。 2、Android Camera框架 Android的Camera子系统提供一个拍照和录制视频的框架。 它将Camera的上层应用与Application Framework、用户库串接起来,而正是这个用户库来与Camera的硬件层通信,从而实现操作camera硬件。 3、Android Camera的代码结构 Android的Camera代码主要在以下的目录中:
Camera的framework供上层应用调用的部分
base/core/java/android/hardware/Camera.java 这部分目标是framework.jar
Camera的JNI部分 Camera UI库部分 Camera服务部分 Camera HAL层部分 未完待续 在下一篇中,我会以两条路径来详细介绍Camera HAL的实现:自己依据V4l2规范来实现CameraHardwareInterface; Qualcomm的Camera架构(QualcommCameraHardware和mm-camera/mm-still)。当然,在涉及到Qualcomm私有库部分,为避免不必要的麻烦,我会一笔带过。敬请见谅! |
|