CMOS摄像机的成像原理

如题所述

CMOS光电传感器经光电转换后直接产生电流(或电压)信号,信号读取十分简单。

CMOS的制程较简单,没有专属通道的设计,因此必须先行放大再整合各个像素的资料。下图为CMOS成像模块示意图。

扩展资料:

传感器工作流程:

CMOS图像传感器的功能很多,组成也很复杂。它由像敏单元、行列开关、地址译码器和A/D转换器等许多部分组成较为复杂的结构。

这就需要使诸多的组成部分按一定的程序工作,以便协调各组成部分的工作。为了实施工作流程,还要设置时序脉冲,利用它的时序关系去控制各部分的运行次序,用它的电平或前后沿信号去适应各组成部分的电气性能。

CMOS传感器不需要复杂的处理过程,直接将图像半导体产生的电子转变成电压信号,因此就非常快。

这个优点使得CMOS传感器对于高帧摄像机非常有用,高帧速度能达到400到2000帧/秒。这个优点对于眺望高速移动的物体非常有用,然而由于没有高速的数字讯号处理器,所以市场上只有很少的高速摄像机并一般价格都非常高。

参考资料:

百度百科-CMOS摄像机

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-25

在了解CMOS图像处理器成像原理之前,我们先来看看CCD与CMOS之间的一个对比,以更好了解CMOS图像处理器。相比于CCD,CMOS的优点由于:
1) 设计单一感光器感光器连接放大器
2) 灵敏度同样面积下高感光开口小,灵敏度低
3) 成本线路品质影响程度高,成本高CMOS整合集成,成本低
4) 解析度连接复杂度低,解析度高低,新技术高
5)噪点比单一放大,噪点低百万放大,噪点高
6) 功耗比需外加电压,功耗高直接放大,功耗低
由于构造上的基本差异,我们可以表列出两者在性能上的表现之不同。CCD的特色在于充分保持信号在传输时不失真(专属通道设计),透过每一个像素集合至单一放大器上再做统一处理,可以保持资料的完整性;CMOS的制程较简单,没有专属通道的设计,因此必须先行放大再整合各个像素的资料。下图为CMOS成像模块示意图。
为什么需要线性插值呢?我们先来看看CMOS图像处理器的排列:
由于制作工艺的问题,CMOS感应R 或G或B一种颜色,这就是贝叶尔格式的数据(如图6所示)。它必须经过插值运算才能得到每个像素的RGB值。
由上图可以看出,每个像素点都有8个相邻的像素点,而且这8个像素点的颜色分量与此像素点不同。插值算法就是依据相邻的像素点的颜色值的空间相关性原理进行的。其处理方法如下:
a. 只有R颜色分量的像素点,其G颜色分量由周围4个G的平均值计算得出。B颜色分量由周围4个B的平均值计算得出。
b. 只有B颜色分量的像素点,其R颜色分量由周围4个R的平均值计算得出,G颜色分量由周围4个G平均值计算得出。
c. 只有G颜色分量的像素点,其R颜色分量由上下2个R的平均值计算得出,B颜色分量由左右2个B平均值计算得出。 为了有效地进行图像信息的传输或储存,减少描述图像的数据量是一件非常重要的工作。在Windows系统中,我们常见的bmp图片文件(bitmap file)是位图图片。位图图片的文件大小一般都是最大的,不便于存储和传输,所以后来才出现了一些压缩格式图片,如:gif、tiff、jpeg、png等图片文件。
图片压缩分为有损压缩(如jpeg图片)和无损压缩:(如tiff图片)
什么是位图? 位图也称像素图像或点阵图像,是由多个点组成的,这些点被称为像素。位图可以模仿照片的真实效果,具有表现力强、细腻、层次多和细节多等优点。图片的压缩算法很多,格式也有很多种,例如jpge,gif等,但为了大家能够简单了解和实验方便,这里重点介绍BMCP压缩格式算法。
BMCP 采用无损压缩方法对图片进行压缩的,其处理流程大概如下:对一幅位图的所有象素点进行扫描,取出所有像素点的颜色构造颜色表,并且记录这些像素点的颜色在颜色表中的索引位置,然后再对这些索引位置记录进行压缩后再存储数据,也就是存储的时候像素点位置只存储索引而不存储颜色。我们都知道一张图按行列扫描时某个点的颜色在它后面连续同时出现的机率是很大的,所以我们的压缩就在这里了。简单的压缩原理用伪代码表示如下:
color = 图片的第一点像素点颜色;
while(图片的像素点没有扫描完)
newColor = 获取当前像素点的颜色;
if(newColor == color)
{
color的出现次数+1;
}else{
存储color;
color = newColor;
}
}
这样压缩后,我们就可以将一些连续出现的颜色点压缩为一个颜色点了。例如有下面的字符数据:
abceefaccccch
经我们压缩后就可以变为如下数据了:
a1b1c1e2f1a1c5h1
(注:字符后面的数字表示其连续出现的次数)
l BMCP 的颜色索引值的存储
我们大家都知道在bmcp里是存储颜色索引值的,而大家也知道在C#里的int/uint是占用4个字节空间的,所以我们存储象素颜色索引时肯定尽量避免存储为int/uint值!
在bmcp里颜色索引值的存储大小是根据颜色表的数量来决定的。当颜色表的颜色数量小于255个时索引占用的空间就只占用1个字节;而颜色表的数量小于ushort值范围时索引占用的空间就是2个字节;而如果颜色表数量小于ushort. MaxValue*255时就索引就占用3个字节(前2个字节存储的是“值/255”的整数部分,而后1个字节则存储的是“值%255”);否则就只能使用4个字节存储索引。
在上面的压缩计算中,我们还要存储一个“颜色连续出现的次数”值,这个值的大小在bmcp里是占用1个字节的,也就是说计算某颜色重复出现的次数时值最多只能记录到255次,如果还继续出现同一个颜色,则重新记录颜色!为什么要这样做呢?这是为了减少占用空间所做的,在很多图片中,不连续出现相同颜色的位置所占的比率也是很大的,而连续出现同一种颜色超出255次的地方则是少之又少。
l BMCP 的文件格式
BMP是一种与硬件设备无关的图像文件格式,使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间较大。BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。典型的BMP图像文件由三部分组成:位图文件头结构(BITMAPFILEHEADER),它包含BMP图像文件的类型、显示内容等信息;位图信息头结构(BITMAPINFOHEADER),它包含有BMP图像的宽、高、压缩方法,以及定义颜色等信息;位图调色板。 l 位图文件头结构
BITMAPFILEHEADER中,bfTabe是标识数据,内容为固定值“BM”,用于标识文件格式为BMP文件。
bfSize的数据地址为2,数据类型为unsigned long,表示位图文件的大小。
bfReserved1和bfReserved2的数据地址分别为6和8,数据类型为unsigned int,是BMP文件的保留字,其值为0,暂无意义。
bfOffBits的数据地址为10,数据类型为unsigned long,以字节为单位,指示图像数据在文件内的起始地址,即图像距文件头的偏移量。
l 位图信息头结构
BITMAPINFOHEADER中,biSize的数据地址为14,数据类型为unsigned long,以字节为单位,指定数据结构BITMAPINFOHEADER所占用的存储容量,固定值为40。
biWidth和biHeigth的数据地址分别为18和22,数据类型为unsigned long,均以像素为单位,给出该BMP文件所描述位图的宽度和高度。若biHeigth取值为正数,则表明位图为bottom_up类型的DIB位图,位图的原点为左下角。若biHeigth取值为负数,则表明位图为top_down类型的DIB位图,位图的原点为左上角。一般情况下,取值为正数。
biPlanes数据地址为26,数据类型为unsigned int,表示目标设备平面数,必须置为1.
biBitCount的数据地址为28,数据类型为unsigned int,确定每个像素所需要的位数,即量化级数。
biCompression的数据地址为30,数据类型为unsigned long,表示bottom_up类型位图的压缩类型。值得注意的是,BMP文件格式对索引色图像及真彩色图像不做任何数据压缩。biSizeImage的数据地址为34,数据类型为unsigned long,以字节为单位,表示图像数据占用的空间大小。
biXperlsPerMeter和biYperlsPerMeter的数据地址为38和42,数据类型为unsignedlong,以每米像素数为单位,给出位图目标设备水平垂直的分辨率。
biClrUsed的数据地址是46,数据类型为unsigned long,给出位图实际使用的颜色表中的颜色变址数。
biClrImperant的数据地址为50,数据类型为unsigned long,给出位图显示过程中重要颜色的变址数。若取值为0,表示所有使用的颜色都是重要颜色。
l 位图调色板
RGBQUAD结构体由4个字节型数据组成,因此一个RGBQUAD结构体只占用4字节空间,从左到右每个字节依次表示(蓝色,绿色,红色,保留字)。
我们很清晰的了解到BMCP是如何做到压缩位图文件的。
1) 只存储每个象素点颜色索引值
2) 将连续出现相同颜色的多个象素点压缩为一个“象素点”

本回答被网友采纳
第2个回答  2016-06-07
CCD,英文全称:Charge-coupled Device,中文全称:电荷耦合元件。可以称为CCD图像传感器。
  CCD是一种半导体器件,能够把光学影像转化为数字信号。 CCD上植入的微小光敏物质称作像素(Pixel)。一块CCD上包含的像素数越多,其提供的画面分辨率也就越高。CCD的作用就像胶片一样,但它是把图像像素转换成数字信号。CCD上有许多排列整齐的电容,能感应光线,并将影像转变成数字信号。经由外部电路的控制,每个小电容能将其所带的电荷转给它相邻的电容。CCD广泛应用在数位摄影、天文学,尤其是光学遥测技术、光学与频谱望远镜,和高速摄影技术如Lucky imaging。CCD在摄像机、数码相机和扫描仪中应用广泛,只不过摄像机中使用的是点阵CCD,即包括x、y两个方向用于摄取平面图像,而扫描仪中使用的是线性CCD,它只有x一个方向,y方向扫描由扫描仪的机械装置来完成。