毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 计算机安全 >> 正文

基于PXA270的视频监控系统 第5页

更新时间:2014-6-28:  来源:毕业论文

基于PXA270的视频监控系统 第5页
3.3.2 图像的接收
    在我们建立了程序与设备驱动的数据交互后,我们需要在系统中建立一个图像对象用于保存从摄像头获取的数据。QT的QImage类使用Qt自身的绘图引擎,可提供在不同平台上提供相同的图像显示效果,它是两个Qt规定处理图像类的其中之一,另一个是QPixmap 。 QImage的设计和优化的I / O和直接像素访问/操纵。 QPixmap的设计和优化的绘图。 並可透过setPixpel()、pixel()等方法,直接存取指定的像素。
由于0V511摄像头输出的图像为5-6-5格式的16位RGB图像,我们使用Format_RGB16的qt类型作为接受图像数据的变量类型。
在QImage::Format的枚举类型中定义了图像格式相关的类型。
QImage::Format_RGB32 图片以32-bit RGB 格式存储 (0xffRRGGBB)。
QImage::Format_ARGB32 图片以32-bit ARGB格式存储 (0xAARRGGBB)。
QImage::Format_RGB16 图片以16-bit RGB格式存储 (5-6-5)。
QImage::Format_RGB666 图片以24-bit RGB格式存储(6-6-6)。没有使用带的信号位恒为0。
QImage::Format_RGB555 图片以6-bit RGB格式存储(5-5-5)。没有使用带的信号位恒为0。
QImage::Format_RGB888 图片以24-bit RGB格式存储 (8-8-8)。
QImage::Format_RGB444 图片以16-bit RGB格式存储 (4-4-4)。 没有使用带的信号位恒为0。
表3-1  QImage类的图像数据定义

3.3.3 视频图像的显示
由于视频图像实质上是由每个捕获周期里的静态图片组成的,所以我们可以利用QT的painter类的drawImage函数可以方便地将包含着RGB图像的QImage类输出到设备的frambuff里。QT对不同的情况提供了不同的drawImage重载,函数原型如下:
void drawEllipse ( const QPoint & center, int rx, int ry )
void drawImage ( const QRectF & target, const QImage & image, const QRectF & source, Qt::ImageConversionFlags flags = Qt::AutoColor )
void drawImage ( const QRect & target, const QImage & image, const QRect & source, Qt::ImageConversionFlags flags = Qt::AutoColor )
void drawImage ( const QPointF & point, const QImage & image )
void drawImage ( const QPoint & point, const QImage & image )
void drawImage ( const QPointF & point, const QImage & image, const QRectF & source, Qt::ImageConversionFlags flags = Qt::AutoColor )
void drawImage ( const QPoint & point, const QImage & image, const QRect & source, Qt::ImageConversionFlags flags = Qt::AutoColor )
void drawImage ( const QRectF & rectangle, const QImage & image )
void drawImage ( const QRect & rectangle, const QImage & image )
void drawImage ( int x, int y, const QImage & image, int sx = 0, int sy = 0, int sw = -1, int sh = -1, Qt::ImageConversionFlags flags = Qt::AutoColor )
3.3.4视频图像的处理
由于QT中的对于像素的存储是将RGB以及alpha值一起存储在qRgb变量类型里,所以在进行像素操作的时候必须将RGB三个颜色分量分离开。由于R、G、B三个分量的值分别存在于qRGB的第17~24位、9~16位、1~8位,所以只需将无关的位用&&方法屏蔽掉取出便可。Qt中提供了相应的方法:
int qBlue ( QRgb rgb )
int qGreen ( QRgb rgb )
int qRed ( QRgb rgb )
使用以上3个方法,我们可以方便的获得每个像素点的RGB值。
3.4图像动态侦测算法
    图像动态侦测的关键在于选取合适的特征量来表示视频内容的变化程度,即特征值的选取。本算法来自帧对比算法的一种改进。由于所用的pxa270平台没有关于图像运算的DSP模块,所以本算法的着重点在于对每帧的像素点本身的变化进行运算。
     与其它基于感应器的动态侦测方法相比,基于图像处理的自动聚焦算法的实现不需要额外的信号源和相应的接收传感器,这有利于缩小器件的体积以降低成本,并降低器件的功耗。
    在这类算法中,分析处理模块直接对获得的视频图像进行处理,以获得与上一帧的平均每点像素差,并且将取得的值与阀值进行比较,从而判断图像是否发生了改变。因此,构造合理的判决函数就成了基于帧差的动态侦测算法算法的关键所在。理想的动态判决函数应该具有对突变和渐变的图像都有较好的敏感度,同时应具有较强的抗干扰能力。
3.4.1算法原理
当摄像头所监控的景象发生改变的时候,反映到图像的数据上就是像素点发生了变化。因此,两帧相邻的图像的像素差可以作为判断图像是否发生了变化的依据。但是由于光电的基本性质以及系统内部的电磁干扰,系统获取的图像数据中有可能存在并非源于实际景象变化的噪声,所以直接求像素点的差无法成为判断图像发生变化的依据。
但由于在系统条件不变的情况下,图像数据中的噪声可以被认为近似恒定不变的。所以如果是求平均每个像素点发生了多少变化的话,噪声对图像的影响便可以忽略不计。
    在同一镜头中的视频图像由于变化不大,所以其帧差大致呈现出相对平均分布,且平均值较小。而在发生突变处的帧差则明显要比同一镜头内图像之间帧差的平均值大很多,在发生渐变时(主要指淡入淡出和慢转换),其帧差也会发生较大的变化。
    因此,平均每点的像素差可以作为判断图像是否发生了变化的依据。
    具体算法如下:

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页

基于PXA270的视频监控系统 第5页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。