1体系概述
如图所示,这是整个视频收集体系的原理框图。上电初始,FPGA需求通过IIC接口对CMOS Sensor进行寄存器初始化装备。这些初始化的根本参数,即初始化地址对应的初始化数据都存储在一个预先装备好的FPGA片内ROM中。在初始化装备完成后,CMOS Sensor就能够继续输出规范RGB的视频数据流,FPGA通过对其同步信号,如时钟、行频和场频进行检测,然后从数据总线上实时的收集图画数据。MT9V034摄像头默许初始化数据就能输出正常的视频流,因而FPGA中实际上未作任何IIC初始化装备。
在FPGA内部,收集到的视频数据先通过一个FIFO,将本来25MHz频率下同步的数据流通换到50MHz的频率下。接着将这个数据再送入写DDR3缓存的异步FIFO中,这个FIFO中的数据一旦到达必定数量,就会写入DDR3中。与此一起,读取DDR3中缓存的图画数据,缓存到FIFO中,并终究送往LCD驱动模块进行显现。LCD驱动模块不断的宣布读图画数据的恳求,并驱动液晶显现器显现视频图画。
本实例除了前面说到对原始图画做DDR3缓存和显现,还会在原始图画缓存到DDR3之前,别的做图画的多行缓存和滑润处理运算,取得新的滑润后的图画流,这个图画流也写入到DDR3中。依据LCD显现模块的恳求,读取DDR3中处理后的图画进行显现。终究在VGA液晶显现器上,能够看到左边图画是原始的图画,右侧图画是通过滑润处理后的图画。
2图画滑润与滤波
2.1 根本概念
从核算学的观念来看,但凡核算特征不随时刻改变的噪声称为平稳噪声,而核算特征随
时刻改变的噪声称为非平稳噪声。幅值根本相同,可是噪声呈现的方位是随机的,称为椒盐
噪声;假如噪声的幅值是随机的,依据幅值巨细的散布,有高斯型和瑞利型两种,别离称为
高斯噪声和瑞利噪声。
图画滤波,即在尽量保存图画细节特征的条件下对方针图画的噪声进行按捺,是图画预
处理中不行短少的操作,其处理作用的好坏将直接影响到后续图画处理和剖析的有效性和可
靠性。
消除图画中的噪声成分叫作图画的滑润化或滤波操作。信号或图画的能量大部分会集在
起伏谱的低频和中频段是很常见的,而在较高频段,感兴趣的信息经常被噪声吞没。因而一
个能下降高频成分起伏的滤波器就能够削弱噪声的影响。
图画滤波的意图有两个,一是抽出目标的特征作为图画识别的特征形式;另一个是为习惯图画处理的要求,消除图画数字化时所混入的噪声。而对滤波处理的要求也有两条,一是不能损坏图画的概括及边际等重要信息;二是使图画明晰视觉作用好。
滑润滤波是低频增强的空间域滤波技能。它的意图有两类:一类是含糊;另一类是消除
噪音。空间域的滑润滤波一般选用简略均匀法进行,便是求附近像元点的均匀亮度值。邻域的巨细与滑润的作用直接相关,邻域越大滑润的作用越好,但邻域过大,滑润会使边际信息丢失的越大,然后使输出的图画变得含糊,因而需合理挑选邻域的巨细。
关于滤波器,一种形象的比方法是:咱们能够把滤波器幻想成一个包括加权系数的窗口,
当运用这个滤波器滑润处理图画时,就把这个窗口放到图画之上,透过这个窗口来看咱们得
到的图画。举一个滤波在咱们日子中的使用:美颜的磨皮功用。假如将咱们脸上坑坑洼洼比作是噪声的话,那么滤波算法便是来取出这些噪声,使咱们自拍的皮肤看起来很润滑。
2.2 滤波算法
各种不同的滤波算法如下:
•限幅滤波法(又称程序判别滤波法)
• 中位值滤波法
• 算术均匀滤波法
• 高斯滤波法
• 递推均匀滤波法(又称滑动均匀滤波法)
• 中位值均匀滤波法(又称防脉冲搅扰均匀滤波法)
• 限幅均匀滤波法
• 一阶滞后滤波法
• 加权递推均匀滤波法
• 消抖滤波法
• 限幅消抖滤波法
•卡尔曼滤波(非扩展卡尔曼)
2.3 均值滤波
均值滤波器是图画处理中一种常见的滤波器,它首要使用于滑润噪声。它的原理首要是使用某像素点周边像素的均匀值来到达滑润噪声的作用。
例如,1~8像素是(x,y)点周围附近的8个像素点。最简略的均值滤波,即对(x,y)以及周边8个像素点求均匀代替本来的(x,y)点。
这种滤波方法的长处很明显,算法简略,核算速度快。缺陷是下降噪声的一起使图画发生含糊,特别是景象的边际和细节部分。
2.4 加权均值滤波器
因为咱们现已留意到了中心点和周边像素点的重要程度不同,因而能够将均值滤波进行改善,取得图画滑润滤波作用的一起,也在必定程度上尽量下降图画边际和细节的丢失。
根据1/16的加权均值滤波,咱们的Matlab代码如下:
clear
clc
I1=imread('.\lena.jpg');
I=im2double(I1);
[m,n,c]=size(I);
A=zeros(m,n,c);
% 1 2 1
% 1/16 * 2 4 2
% 1 2 1
%for R
for i=2:m-1
for j=2:n-1
A(i,j,1)=I(i-1,j-1,1)+I(i+1,j-1,1)+I(i-1,j+1,1)+I(i+1,j+1,1)+2*I(i+1,j,1)+2*I(i-1,j,1)+2*I(i,j+1,1)+2*I(i,j-1,1)+4*I(i,j,1);
end
end
%for G
for i=2:m-1
for j=2:n-1
A(i,j,2)=I(i-1,j-1,2)+I(i+1,j-1,2)+I(i-1,j+1,2)+I(i+1,j+1,2)+2*I(i+1,j,2)+2*I(i-1,j,2)+2*I(i,j+1,2)+2*I(i,j-1,2)+4*I(i,j,2);
end
end
%for B
for i=2:m-1
for j=2:n-1
A(i,j,3)=I(i-1,j-1,3)+I(i+1,j-1,3)+I(i-1,j+1,3)+I(i+1,j+1,3)+2*I(i+1,j,3)+2*I(i-1,j,3)+2*I(i,j+1,3)+2*I(i,j-1,3)+4*I(i,j,3);
end
end
B=A/16;
%output
imwrite(B,'lena.tif','TIf');
imshow('.\lena.jpg');TItle('origin image');figure
imshow('lena.TIf');TItle('image after average filter')
滤波作用如下。
Matlab源码、Lena.jpg原图和比对图存放在at7_img_ex01\matlab文件夹下。