P7,P8,像素排列如表2.1所示。
表2.13x3窗口内各像素的排列
第O列
第O行
第1行
第2行PoP3P6第1列PlP4P7第2列P2P5P8
做FPGA方面很好的论文
武汉理工大学硕士学位论文
首先对窗口内的每--N分别计算最大值,中值和最小值,这样就得到3组数
据,分别为最大值组,中值组和最小值组,计算过程如下:
最大值组:Maxo=max[Po,Ps,P61,Maxl=max[P!,P4,ed,Maxz=max[P2,Ps,Ps】
中值组:Medo=med[Po,P3,,061,Medl=med[P1,P4,n】,Med2=reed[P2,Ps,Ps】
最小值组:Mino=min[Po,Ps,P6],Mini=min[P1,P4,PT],Mira=min[P2,P5,Ps】
其中max表示取最大值,med表示取中值操作,min表示取最小值操作。
由此可以看出,最大值组中的最大值与最小值组中的最小值一定是9个像素
中的最大值和最小值,除此,中值组中的最大值至少大于5个像素:本列中的最小值和其他两列中的中值和最小值;中值组中的最小值至少小于5个像素:
本列中的最大值和其他两列中的最大值和中值,同样,最大组中的中值至少大于5个像素,最小值组的中值至少小于5个像素,即最大组中的最小值为maxmin,中值组中的中值为medmed,最小值组中的最大值minmax,则滤波结果的输出像素值Winmed应该为三者的中值,这一计算过程表示如下:
Maxmin=min[Maxo,Maxl,Max2】
Medmed=med[Medo,Medi,Med2】
Minmax=max[Mino,Mira,Mira】
Winmed=med[Maxmin,Medmed,Minmax]
采用该方法,中值的计算仅需做19次比较,此外,由于常规的滤波算法使
窗1:3每移动一次,就要进行一次排序,这种做法实际上包含了大量重复比较的过程。若--¥,J图像的大小为NxN,则整个计算过程需要O(NED2)时间,当窗口尺寸增大时,计算量将按平方增大,这主要是传统算法未能充分利用相邻窗口间的相关信息。因此本文提出一种类似于滑动窗的改进的中值滤波算法,如图2.5所示,该算法能够充分利用前一窗口中已排序部分的信息。实验表明,该算法可以有效地降低图像处理的复杂度,加快图像处理速度。
8
4
1063019212177231514~.\卜’’:48106193021217723。15h嘣≥
乙/./
(a)取3x3窗(b)对3x3窗进行列排序
图2.5利用滑动窗排序示意图
做FPGA方面很好的论文
武汉理工大学硕士学位论文
算法的步骤如下:
(1)首先对图2.5(a)中黑色方框部分的内容按列进行排序,设排序后的
第1行为最小值行A,中间行为B,最大值行为C,得到图2.5(b)的结果;
(2)对A行取最大值,对B行取中值,对C行取最小值,并分别标记A
中最大值的位置和C中最小值的位置;
(3)取A中最大值、B中中值、C中最小值这三个值的中值;
(4)将窗口在图像中滑动,新的窗口的如上图阴影部分所示:
(5)将新添加的一列进行大小排序;
(6)根据(2)中标记的结果对阴影部分的A取最大值,B取中值,C取最
小值,并分别标记A中最大值的位置和C中最小值的位置;
(7)回到(3),直到此行的结束。
通常窗口移动时其中心位置按先变列下标再变行下标的顺序遍历图像中各
像素,其左边少一列像素,右边将添加一列像素,可以看出,这一部分的前两列元素已经经过了排序,利用该排序的结果,只需要对最后一列的元素排序即可,排序完后,可以根据上一窗口中标记的位置取相应的值和最后一列的比较,如果A中的最大值或C中的最小值在阴影部分中,则和第三列进行一次比较即可取出最后一次比较所需的值。这样的运算量比每次排序的运算量少6 ̄8次。若一帧图像为NxN,总的运算量将少6(N.1)2次。
经过这样的优化,计算的复杂度就减少了很多,在硬件实现的过程中,可以
充分利用硬件并行处理的优势,将输入的像素进行并行比较,一次处理9个像素,这样的经过3次并行计算就可以实现中值的替换,将比较的第一步的结果放在存储器中,可以作为下一组数据比较的输入,而且在比较的过程中可以采用流水线的形式进行操作,即比较完第一步就可以进行下一组第一步的比较,这样流水线加并行处理的方式可以使其达到很快的速度。
此外,中值滤波的效果依赖于滤波窗口的大小,太大会使边缘模糊,太小了
则去噪效果不好【22J。考虑到噪声点和边缘点同样是灰度变化较为剧烈的像素,普通中值滤波在改变噪声点灰度值的时候,会一定程度地改变边缘像素灰度值。但是根据图像的特点可以看出,噪声点几乎都是领域像素的极值,而边缘不是,因此可以利用这个特性来限制中值滤波。当处理该像素的时候,看该像素是否是滤波窗口所覆盖下邻域像素的极大或者极小值,如果是,则用正常的中值滤波处理该像素。如果不是,则不处理。图2.6为一幅红外图像加入噪声后的图像经过4种不同形式的中值滤波后实验对比。
做FPGA方面很好的论文
武议理工大学硕上学位论文
一一■一■一(a)红外原图像(b)加入密度为002的椒盐噪声(c)3x3模板中值滤波(d)加入极值判断的3×3滤波(e)5×5模板中值滤波(D加入极值判断的5x5滤波
图2-6红外图像椒燕噪声的中值滤波实验对比从图2-6可以看出,加入极值判断的图像(图2-6(d),图2-6(f))整体比没加入极值削断的图像(图2-6(c),罔2-6(e))滤波效果要好,尤其是边缘的信息较好的得到了保护,其巾3×3模板加入极值判断后的效果最好,因此在厉面的FPGA实现叶J我们采用3x3模板进行计算。2.2.3灰度变换
在对红外图像的预处理过程中,为了保证红外传感器具有足够的动态范围,通常其A/D转换器的精度为14~16位,最终输出一般为12位,相麻的厌度图像所对应的灰度等级为0-4095,但目前通常显示器所能显示的灰度等级为256级,因此,耍将红外图像在目前的显1‘器卜显示必须先进行灰度变换(即将4096级灰度压缩到256缎)。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说高考高中红外图像处理算法研究及其FPGA实现(6)在线全文阅读。
相关推荐: