文档视界 最新最全的文档下载
当前位置:文档视界 › 中值滤波器

中值滤波器

中值滤波器
中值滤波器

帽泡排序法的汇编实现。。

mov cx,count ;CX←数组元素个数

dec cx ;元素个数减1为外循环次数

outlp:

mov dx,cx ;DX←内循环次数

mov bx,offset array

inlp: mov al,[bx] ; 取前一个元素

cmp al,[bx+1] ;与后一个元素比较

jna next

xchg al,[bx+1] ;否则,进行交换

mov [bx],al

next: inc bx ;下一对元素

dec dx

jnz inlp ;内循环尾

loop outlp ;外循环尾

2、中值滤波

中值滤汉是对某一参数连续输入N次(一般N取奇数),从中选择一个中间值作为本次采样值,若变量变化比较缓慢,采用此方法效果比较好,但对快速变化过程的参数,如流量、自然伽玛等,则不宜采用。

中值滤波的C程序函数如下:

float middle_filter(float middle_value [] , intcount)

{

float sample_value, data;

int i, j;

for (i=1; i for(j=count-1; j>=i,--j){

if(middle_value[j-1]=middle_value[j]{

data=middle_value[j-1];

middle_value[j-1]=middle_value[j]

middle_value[j]=data;

}

}

sample_value=middle_value(count-1)/2];

return(sample_value);

}

函数假设对某一参数连续采样3次,若多次采样,可对该函数稍作修改即可。3次采样值存储在数组middle_value[3],其中Sample-value表示有效采样值,count表示连续采样次数。

FILTER3:

MOV R2,#04H

SRT:

MOV A,R2

MOV R3,A

MOV R0,#SAMP

LOOP:

MOV A,@R0

INC R0

MOV R1,A

CLR C

SUBB A,@R0

MOV A,R1

JC DONE

MOV A,@R0

DEC R0

XCH A,@R0

INC R0

MOV @R0,A

DONE:

DJNZ R3,LOOP

DJNZ R2.,SORT

INC R0

MOV A,@R0

RET

SAMP EQU 30H

用汇编实现冒泡排序的函数

;参数说明:_lpData是待排序的数组首地址,_dwCount是待排序的个数,_dwOption设为0则由小到大排序

;如果是非0值,则是由大到小排序.

;返回值:已排序数据放回原数组中.

;作者:ONEPROBLEM

;=================================================

_BubblingSort proc _lpData,_dwCount,_dwOption

local @dwCount

pushad

mov edi,1

.while edi < _dwCount

mov esi,_lpData

mov eax,_dwCount

mov @dwCount,eax

sub @dwCount,edi

mov ebx,1

.while ebx <= @dwCount

mov eax,[esi]

.if eax<[esi+4] && _dwOption==0

jmp next

.elseif eax>[esi+4] && _dwOption==0 jmp continue

.elseif eax<[esi+4] && _dwOption!=0 jmp continue

.elseif eax>[esi+4] && _dwOption!=0 jmp next

.endif

continue:

mov eax,[esi]

mov edx,[esi+4]

mov [esi],edx

mov [esi+4],eax

next:

add esi,4

inc ebx

.endw

inc edi

.endw

popad

ret

_BubblingSort endp

DSEG SEGMENT

n equ 10

BUFFER DB 9,11,2,7,21,13,2,0,14,3

DSEG ENDS

CSEG SEGMENT

assume cs:CSEG, ds:DSEG

MAIN PROC FAR ;主程序入口

mov ax, dseg

mov ds, ax

mov cx,n

dec cx

loop1: mov di,cx

mov bx,0

loop2: mov al,buffer[bx]

cmp al,buffer[bx+1]

jge continue

xchg al,buffer[bx+1]

mov buffer[bx],al

continue: add bx,1

loop loop2

mov cx,di

loop loop1

mov ah,1;按任意键退出

int 21h

mov ax, 4c00h ;程序结束,返回到操作系统系统

int 21h

MAIN ENDP

CSEG ENDS

END MAIN

中值滤波原理

中值滤波是一种非线性平滑法,它对一个滑动窗口内的像素灰度值排序,并用其中值代替窗口中心像素的灰度值. 对脉冲干扰及椒盐噪声具有良好的抑制作用,并且在抑制随机噪声的同时能有效保护边缘少受模糊. 二维中值滤波的窗口形状有多种,如线状、方形、十字形、圆形、菱形等. 不同形状的窗口产生不同的滤波效果. 通过研究,不少文献认为十字中值滤波的效果优于方形的中值滤波,而且十字中值滤波也有不同的形式以形成不同的滤波特性,其数据可从方形数据获得. 最常使用的十字中值滤波是对五个相邻像素进行排序,以确定中心点的数值.

I=[1 7 1 8 1 7 1 1

1 1 1 5 1 1 1 1

1 1 5 5 5 1 1 7

1 1 5 5 5 1 8 1

8 1 1 5 1 1 1 1

8 1 1 5 1 1 5 1

1 1 1 5 1 1 1 1

1 7 1 8 1 7 1 1

];

[M N]=size(I);

I1=zeros(M,N);

for i=2:M-1

for j=2:N-1

temp=I(i-1:i+1,j-1:j+1);

temp=sort(temp);

temp=sort(temp');

I1(i,j)=temp(2,2);

end

end

imshow(I,[]);

figure,imshow(I1,[]);

中值滤波器属于非线性空间滤波器,用于除去图像中的椒盐噪声。中值滤波器只适用于灰度RGB图像(对于YUV图像,应该只需要对Y进行处理),一个有趣现象:对于彩色RGB图像进行中值滤波,得到的输出接近于灰色图像。中值滤波的算法核心就是找出中间值。对于一个3x3的块,只需要找的这样一个值:1)有4个比它小;2)有4个比它大。而不需要进行泡沫排序。对于图像的边界,一般有两种处理方法:边界扩展和不处理。为了跟具有普遍性,此IP不考虑边界问题。

中值滤波器的主要开销在于line buffer,通常line buffer需要存储图像的一行像素。对于3x3块的滤波,就需要两个line buffer,这对于大尺寸图像是一笔很大的开销。我认为,对于这个问题有两种解决办法:1)和其它模块共享buffer,实际限制会比较多,也会影响系统的工作频率;2)把大图像分成小块来处理,这样做IO接口的设计会比较复杂,对于带宽也有一定影响。

本文的IP为Slave模式,输入为8bit,支持断续传输。实际应用中,需要设计一个IO interface。使用了6级流水线,处理速度可以达到1pixel/cycle。

作为一个IP,这个设计可能没有太多价值,毕竟实际情况千差万别。但是,我想,作为一个学习的例子还是有一些意义的,这个设计流程已经很接近工程项目了。算法实现起来比较简单,总共花费约5个工作日。

第一天:找资料;

第二天:写Design Spec,并实现;

第三天:写c model,建立仿真环境;

第四天:debug;

第五天:整理。

整个工程包括:RTL,testbanch,c model,Design Spec和测试向量。要求仿真工具支持verilog 2001。这里对验证环境多说一些,严格来讲,这个只能算是仿真,验证的话需要给出function coverage和code coverage报告。因为是没有薪水的工作,所以就不愿意做这些琐碎的事情

了。凭我的直觉说应该不会有问题(千万不要对自己的老板这么说,而且bug往往出现在设计者认为不会出bug的地方)。找Bug的工作就交给大家了:)。对于仿真结果的比较,不知道为什么很多人都习惯用testbanch dump result file,然后和参考数据作比较。个人觉得这种方法非常不好,我习惯用monitor做实时比较。到了2001版本,verilog的文件操作已经做到和c一样强大了。在这个testbanch里,激励和比对文件都是二机制的。

另外一个比较重要的东西就是c model了,一般在公司里都是由算法工程师给出来的(我请不起他们只有自己写了),个人认为c model不会对RTL的实现有所帮助(我从来不看他们的程序,而且我的设计都是和c model同步完成的),但是对于debug起着事半功倍的作用。一个好的c model可以给出debug所需要的所有信息。

关于滤波器的实现没有太多难点,这里用的是脉动阵列结构,保证数据在你期望的时间到达就可以了。有一些信号是根据时序凑出来的,不要深究其逻辑意义。基本上基于算法的设计都遵循以下流程:先实现数据通路,然后根据数据通路来凑出控制信号.

通常我看code和波形都是在debussy下面,如果你不是,应该向我学习,因为aisc工程师都是这么做的!如果你是想学习而不是拿来用的话,我建议还是自己实现的好。

网络上的资源:

该文件内容放在.m 文件中才能调用!!!

%中值滤波函数,X为输入矩阵,a,b为中值滤波的框大小。

%效率很低,可以用来说明中值滤波的概念。

%Y为uint8数据类型,以便用imshow画图,否则,可以改为其它和X相同的类型。

% medianforfun.m

function [Y]=medianforfun(X,a,b)

k=floor(a*b/2)+1; % k为矩阵数值中间位置的数

[M,N]=size(X);

uint8 Y=zeros(M,N);

funBox=zeros(a,b);

temp=zeros(a*b);

for i=1:M-a % matlab的坐标从(1,1)开始

for j=1:N-b

funBox=X(i:i+a,j:j+b);

temp=funBox(:); % A(:)矩阵A以一维数组的形式输出tempSort=sort(temp); % sort()是从小到大排列

Y(i,j)=tempSort(k);

end;

end;

调用函数:

I = imread('eight.tif');

J = imnoise(I,'salt %26amp; pepper',0.02);

K = medfilt2(J);

imshow(J), figure, imshow(K)

Z=medianforfun(J,2,2);

figure, imshow(Z)

2.

原版修改(效果更好):

function [Y]= V0(X,a,b)

k=floor(a*b/2)+1; % k为矩阵数值中间位置的数[M,N]=size(X);

uint8 Y=zeros(M,N);

funBox=zeros(a,b);

p=0;

temp=zeros(a*b); % a*b 的方阵

for i=1:M-a % matlab的坐标从(1,1)开始

for j=1:N-b

funBox=X(i:i+a-1,j:j+b-1);

temp=funBox(:); % A(:)矩阵A以一维数组的形式输出

tempSort=sort(temp); % sort()是从小到大排列

p1=i+floor(a/2)+1;

p2=j+floor(a/2)+1;

Y(p1,p2)=tempSort(k); %找到邻接矩阵排列数的中值赋值给模板的中心点

end;

end;

调用函数:

tic;

In = imread('D:\sp.jpg'); % 用P= isind('D:\sp.png')测试,发现此图片为索引图像I= rgb2gray(In); %那为何使用rgb2gray能转换,ind2gray却不能呢???

imhist(I);

J = imnoise(I,'salt %26amp; pepper',0.08);

% K = medfilt2(J);

imshow(J);

%figure,imshow(K)

Z= V0(J,3,3); %模板为3*3的矩阵,矩阵越大,计算量越大

figure, imshow(Z)

toc

说明:

计算程序运行时间的方式:

tic;

程序;

toc

(2)

matlab自带的中值滤波函数:medfilt2( )

判断图像文件的类型:

In = imread('D:\sp.png');

P= isind('D:\sp.png')

P= isrgb('D:\sp.png')

效果如下:

图片处理前图片处理后

3.

改进版(在原版修改基础上):

传统的中值滤波中“中值”一般取“中位数”,即所有元素排序后中间位置上的元素值。但是

排序需要移动大量元素,效率较低。

个人认为,其实原版算法主要耗时的地方之一是matlab的排序函数:sort()

说明:耗时的原因很多!值得改进的地方还有很多~~

基于此点,可以改进排序函数,快速排序算法是我的首选,但是不是平常意义的那种快速排序,是经过改良的快速排序。

因为它每轮移动的数字都是最后排好序的最终位置,并且,我只是为了找中值,所以不需要真的去排序。只要在有一轮排序中,一个数字被放在中心位置,那么该数就是所要找的中值。最终的排序虽然没有完成,但中值已找到,所以循环就可以停止了!!但仍需要移动元素位置。

貌似还是很耗时!!!!暂时我只能改进到这样的情况了,尽力了~!

1.快速排序法(matlab版)

% 快速排序法

% 基本的思想:通过一趟排序将待排的记录分割成独立的两部分,

% 其中前一部分的记录的关键字均比另一部分记录的关键字小,

% 再分别对两组记录进行递归分割,达到排序的目的

% 平均时间复杂度为 O(log2(n))

function [data]=qsort_main(A)

data = A; low = 1; high = 9;

data = QSort(data, low, high);

%before=A(:)

%after=data(:)

function data = QSort(data, low, high)

if nargin == 1

low = 1;

high = length(data);

end

if(low%26lt;high)

[data pivokey] = qPartition(data, low, high);

(3)

if(pivokey==5) %特定情况处理,如果第一个数就是中值,那么就可以停止该循环了!return;

end

data = QSort( data, low, pivokey - 1 );%递归调用

data = QSort( data, pivokey + 1, high );

end

% 将数组分成两部分,前一部分的值均比后一部分值小

% 返回分界点

function [data low] = qPartition(data, low, high)

if nargin == 1

low = 1;

hight = length(data);

end

pivokey=data(low);

while low %26lt; high

while low %26lt; high %26amp; data(high) %26gt;= pivokey high = high - 1;

end

c = data(low);

d = data(high);

data(low) = d; data(high) = c;

while low %26lt; high %26amp; data(low) %26lt;= pivokey low = low + 1;

end

c = data(low);

d = data(high);

data(low) = d; data(high) = c;

if(low==high%26amp;low==5) %low与high均到达中心位置!!!!!% fprintf('ppppppppp');

return;

end

end

中值滤波函数:

function [Y]= V0(X,a,b)

k=floor(a*b/2)+1; % k为矩阵数值中间位置的数

[M,N]=size(X);

uint8 Y=zeros(M,N);

funBox=zeros(a,b);

temp=zeros(a*b); % a*b 的方阵

for i=1:M-a % matlab的坐标从(1,1)开始

for j=1:N-b

funBox=X(i:i+a-1,j:j+b-1);

temp=funBox(:); % A(:)矩阵A以一维数组的形式输出

tempSort=qsort_main(temp); % 快速排序!!!!!

p1=i+floor(a/2)+1;

p2=j+floor(a/2)+1;

Y(p1,p2)=tempSort(k); %找到邻接矩阵排列数的中值赋值给模板的中心点

end;

end;

调用函数:

tic;

In = imread('D:\sp.jpg'); % 用P= isind('D:\sp.png')测试,发现此图片为索引图像I= rgb2gray(In); %那为何使用rgb2gray能转换,ind2gray却不能呢???

imhist(I);

J = imnoise(I,'salt %26amp; pepper',0.08);

% K = medfilt2(J);

imshow(J);

%figure,imshow(K)

Z= V0(J,3,3); %模板为3*3的矩阵,矩阵越大,计算量越大figure, imshow(Z)

toc

数字图像处理实验三中值滤波和均值滤波实验报告

数字图像处理实验三中值滤波和均值滤波实验报告

数字图像处理实验三 均值滤波、中值滤波的计算机实现12281166 崔雪莹计科1202班 一、实验目的: 1)熟悉均值滤波、中值滤波处理的理论基础; 2)掌握均值滤波、中值滤波的计算机实现方法; 3)学习VC++ 6。0 的编程方法; 4)验证均值滤波、中值滤波处理理论; 5)观察均值滤波、中值滤波处理的结果。 二、实验的软、硬件平台: 硬件:微型图像处理系统,包括:主机, PC机;摄像机; 软件:操作系统:WINDOWS2000或WINDOWSXP应用软件:VC++ 6.0 三、实验内容: 1)握高级语言编程技术; 2)编制均值滤波、中值滤波处理程序的方法; 3)编译并生成可执行文件; 4)考察处理结果。 四、实验要求: 1)学习VC++确6。0 编程的步骤及流程; 2)编写均值滤波、中值滤波的程序;

3)编译并改错; 4)把该程序嵌入试验二给出的界面中(作适当修改); 5)提交程序及文档; 6)写出本次实验的体会。 五、实验结果截图 实验均值滤波采用的是3X3的方块,取周围的像素点取得其均值代替原像素点。边缘像素的处理方法是复制边缘的像素点,增加一个边框,计算里面的像素值得均值滤波。

六、实验体会 本次实验在前一次的实验基础上增加均值滤波和中值滤波,对于椒盐噪声的处理,发现中值滤波的效果更为好一点,而均值滤波是的整个图像变得模糊了一点,效果差异较大。本次实验更加增加了对数字图像处理的了解与学习。 七、实验程序代码注释及分析 // HistDemoADlg.h : 头文件 // #include "ImageWnd.h" #pragma once // CHistDemoADlg 对话框 class CHistDemoADlg : public CDialogEx { // 构造

低通滤波器实验报告

(科信学院) 信息与电气工程学院 电子电路仿真及设计CDIO三级项目 设计说明书 (2012/2013学年第二学期) 题目: ____低通滤波器设计____ _____ _____ _ 专业班级:通信工程 学生姓名: 学号: 指导教师: 设计周数:2周 2013年7月5日 题目: ____低通滤波器设计____ _____ _____ _ (1)

第一章、电源的设计 (2) 1.1实验原理: (2) 1.1.1设计原理连接图: (2) 1. 2电路图 (5) 第二章、振荡器的设计 (7) 2.1 实验原理 (7) 2.1.1 (7) 2.1.2定性分析 (7) 2.1.3定量分析 (8) 2.2电路参数确定 (10) 2.2.1确定R、C值 (10) 2.2.2 电路图 (10) 第三章、低通滤波器的设计 (12) 3.1芯片介绍 (12) 3.2巴特沃斯滤波器简介 (13) 3.2.1滤波器简介 (13) 3.2.2巴特沃斯滤波器的产生 (13) 3.2.3常用滤波器的性能指标 (14) 3.2.4实际滤波器的频率特性 (15) 3.3设计方案 (17) 3.3.1系统方案框图 (17) 3.3.2元件参数选择 (18) 3.4结果分析 (20) 3.5误差分析 (23) 第四章、课设总结 (24) 第一章、电源的设计 1.1实验原理: 1.1.1设计原理连接图:

整体电路由以下四部分构成: 电源变压器:将交流电网电压U1变为合适的交流电压U2。 整流电路:将交流电压U2变为脉动的直流电压U3。 滤波电路:将脉动直流电压U3转变为平滑的直流电压U4。 稳压电路:当电网电压波动及负载变化时,保持输出电压Uo的稳定。 1)变压器变压 220V交流电端子连一个降压变压器,把220V家用电压值降到9V左右。 2)整流电路 桥式整流电路巧妙的利用了二极管的单向导电性,将四个二极管分为两组,根据变压器次级电压的极性分别导通。见变压器次级电压的正极性端与负载电阻的上端相连,负极性端与负载的电阻的下端相连,使负载上始终可以得到一个单方向的脉动电压。单项桥式整流电路,具有输出电压高,变压器利用率高,脉动系数小。

中值滤波器FPGA实现

课程设计报告书 《数字信号处理及系统设计》中值滤波-FPGA设计 设计人:袁兴 班级:硕研10级3班 学号:2010010339 山东科技大学

中值滤波器-FPGA 实现 ■ 前沿 对于许多图像处理问题,传统的线性滤波方法存在着固有的缺陷。为此,最近几十年来,发展起来了一类新的非线性滤波器结构—中值滤波器。这类滤波器在图像信号处理中具有独特的优势,目前已成为非线性滤波领域的一个研究点。 针对传统中值滤波算法排序量多、速度慢的缺点,提出了一种基于FPGA 的中值滤波快速算法。充分利用两个相邻滤波窗口中的相关排序信息,随着一列新像素的移入,同时更新已有的排序信息,从而完成中值滤波处理。该算法将每个窗口查找中值的比较次数降到很低,达到了快速抑制噪声及保持图像细节的目的。 中值滤波器设计的原理 中值滤波是一种非线性滤波方法,于1971年首次提出[1]。它首先对邻域点的灰度值进行排序,然后选择中间值作为输出灰度值。中值滤波的公式如下: g (x, y )=med (f (x -i ,y -j ))i ,j ∈S (1) 其中,g (x, y)和f (x, y)为像素灰度值;S 为模板窗口。中值滤波要实现的是用中值g (x, y)来代替中心点值f (x, y)。对于椒盐噪声来说,由于模板的中值很大程度上不会是噪声,因此中值滤波能很好地消除它。当中心点值为噪声时,其值和中值数值相差较大,应该用中值来代替中心点值。但是,当中心点值不为噪声时,其值和中值数值相差不大,如果还用中值来代替中心点值,那么虽然对于单个像素点来说,不会产生较大的差异,但是如果对一整幅图像都进行这样的处理,这将在一定程度上使整幅图像变得模糊。据此,可以对中值滤波算法做一些改进。首先,排序窗口内的图像数据,找到中值。然后将中值和中心点值做差,将差值与事先设定的阈值T 进行比较,如果两值之差的绝对值|g (x ,y -f (x, y)|大于等于阈值T ,则认为中心点图像数据是噪声,用中值代替原数据值;如果两值之差的绝对值|g (x ,y -f (x, y)|小于阈值T ,则认为中心点图像数据是有效数据,保持不变。即 ' (,)(,)(,)(,)(,)(,)(,)g x y g x y f x y T g x y f x y g x y f x y T ?-≥?=?-?? 2) 其中,g (x, y)如式(1)中定义。阈值T 的选择应该针对不同的图像,根据经

空间域滤波器(实验报告)

数字图像处理作业 ——空间域滤波器 摘要 在图像处理的过程中,消除图像的噪声干扰是一个非常重要的问题。本文利用matlab软件,采用空域滤波的方式,对图像进行平滑和锐化处理。平滑空间滤波器用于模糊处理和减小噪声,经常在图像的预处理中使用;锐化空间滤波器主要用于突出图像中的细节或者增强被模糊了的细节。本文使用的平滑滤波器有中值滤波器和高斯低通滤波器,其中,中值滤波器对去除椒盐噪声特别有效,高斯低通滤波器对去除高斯噪声效果比较好。使用的锐化滤波器有反锐化掩膜滤波、Sobel边缘检测、Laplacian边缘检测以及Canny算子边缘检测滤波器。不同的滤波方式,在特定的图像处理应用中有着不同的效果和各自的优势。

1、分别用高斯滤波器和中值滤波器去平滑测试图像test1和2,模板大小分别 是3x3 , 5x5 ,7x7;利用固定方差 sigma=1.5产生高斯滤波器. 附件有产生高斯滤波器的方法。 实验原理分析: 空域滤波是直接对图像的数据做空间变换达到滤波的目的。它是一种邻域运算,其机理就是在待处理的图像中逐点地移动模板,滤波器在该点地响应通过事先定义的滤波器系数与滤波模板扫过区域的相应像素值的关系来计算。如果输出像素是输入像素邻域像素的线性组合则称为线性滤波(例如最常见的均值滤波和高斯滤波),否则为非线性滤波(中值滤波、边缘保持滤波等)。 空域滤波器从处理效果上可以平滑空间滤波器和锐化空间滤波器:平滑空间滤波器用于模糊处理和减小噪声,经常在图像的预处理中使用;锐化空间滤波器主要用于突出图像中的细节或者增强被模糊了的细节。 模板在源图像中移动的过程中,当模板的一条边与图像轮廓重合后,模板中心继续向图像边缘靠近,那么模板的某一行或列就会处于图像平面之外,此时最简单的方法就是将模板中心点的移动范围限制在距离图像边缘不小于(n-1)/2个像素处,单处理后的图像比原始图像稍小。如果要处理整幅图像,可以在图像轮廓边缘时用全部包含于图像中的模板部分来滤波所有图像,或者在图像边缘以外再补上一行和一列灰度为零的像素点(或者将边缘复制补在图像之外)。 ①中值滤波器的设计: 中值滤波器是一种非线性统计滤波器,它的响应基于图像滤波器包围的图像区域中像素的排序,然后由统计排序的中间值代替中心像素的值。它比小尺寸的线性平滑滤波器的模糊程度明显要低,对处理脉冲噪声(椒盐噪声)非常有效。中值滤波器的主要功能是使拥有不同灰度的点看起来更接近于它的邻近值,去除那些相对于其邻域像素更亮或更暗,并且其区域小于滤波器区域一半的孤立像素集。 在一维的情况下,中值滤波器是一个含有奇数个像素的窗口。在处理之后,位于窗口正中的像素的灰度值,用窗口内各像素灰度值的中值代替。例如若窗口长度为5,窗口中像素的灰度值为80、90、200、110、120,则中值为110,因为按小到大(或大到小)排序后,第三位的值是110。于是原理的窗口正中的灰度值200就由110取代。如果200是一个噪声的尖峰,则将被滤除。然而,如果它是一个信号,则滤波后就被消除,降低了分辨率。因此中值滤波在某些情况下抑制噪声,而在另一些情况下却会抑制信号。 将中值滤波推广到二维的情况。二维窗口的形式可以是正方形、近似圆形的或十字形等。本次作业使用正方形模板进行滤波,它的中心一般位于被处理点上。窗口的大小对滤波效果影响较大。 根据上述算法利用MATLAB软件编程,对源图像test1和test2进行滤波处理,结果如下图:

滤波器设计的实验报告

实验三滤波器设计 一、实验目的: 1、熟悉Labview的软件操作环境; 2、了解VI设计的方法和步骤,学会简单的虚拟仪器的设计; 3、熟悉创建、调试VI; 4、利用Labview制作一个滤波器,实现低通、高通、带通、带阻等基本滤波功能,并调节截止频率实现滤波效果。 二、实验要求: 1、可正弦实现低通、高通、带通、带阻等基本滤波功能,并图形显示滤波前后波形; 2、可调节每种滤波器的上限截止频率或者下限截止频率; 3、给出每种滤波器的幅频特性; 三、设计原理: 1、利用LABVIEW中的数字IIR、FIR数字滤波器实现数字滤波功能,参数可调;

2、将两路不同频率的信号先叠加,然后通过滤波,将一路信号滤除,而保留有用信号,Hz f Hz f 100,2021==; 3、叠加即将两个信号相加,用到一个数学公式; 4、信号进入case 结构,结构中有两路分支,每路分支均有一个滤波模块,其中一个为IIR 滤波器,另一个为FIR 滤波器,通过按钮可选择IIR 或是FIR.每个滤波模块都可通过外部按钮对其参数进行调整,各个过程的波形都用波形图显示出来; 5、将IIR 、FIR 滤波器的“滤波信息”接线端用控件按名称解除捆绑接入波形图,观察波形的幅度和相位; 6、用一个while 循环实现不重新启动既可以改参数。 四、设计流程: 1、前面板的设计:

2、程序框图的设计: 五、实验结果: 1、低通滤波功能:将100Hz的信号滤除,保留20Hz的信号 用IIR巴特沃斯滤波器,将低截止频率设置为25Hz。

用FIR滤波器,拓扑类型选择Windowed FIR,将最低通带设置为50。 用IIR巴特沃斯滤波器,将低截止频率设置为90Hz。

数字图像处理实验报告.docx

谢谢观赏 数字图像处理试验报告 实验二:数字图像的空间滤波和频域滤波 姓名:XX学号:2XXXXXXX 实验日期:2017 年4 月26 日 1.实验目的 1. 掌握图像滤波的基本定义及目的。 2. 理解空间域滤波的基本原理及方法。 3. 掌握进行图像的空域滤波的方法。 4. 掌握傅立叶变换及逆变换的基本原理方法。 5. 理解频域滤波的基本原理及方法。 6. 掌握进行图像的频域滤波的方法。 2.实验内容与要求 1. 平滑空间滤波: 1) 读出一幅图像,给这幅图像分别加入椒盐噪声和高斯噪声后并与前一张图显示在同一 图像窗口中。 2) 对加入噪声图像选用不同的平滑(低通)模板做运算,对比不同模板所形成的效果,要 求在同一窗口中显示。 3) 使用函数 imfilter 时,分别采用不同的填充方法(或边界选项,如零填 充、’replicate’、’symmetric’、’circular’)进行低通滤波,显示处理后的图 像。 4) 运用 for 循环,将加有椒盐噪声的图像进行 10 次,20 次均值滤波,查看其特点, 显 示均值处理后的图像(提示:利用fspecial 函数的’average’类型生成均值滤波器)。 5) 对加入椒盐噪声的图像分别采用均值滤波法,和中值滤波法对有噪声的图像做处理,要 求在同一窗口中显示结果。 6) 自己设计平滑空间滤波器,并将其对噪声图像进行处理,显示处理后的图像。 2. 锐化空间滤波 1) 读出一幅图像,采用3×3 的拉普拉斯算子 w = [ 1, 1, 1; 1 – 8 1; 1, 1, 1] 对其进行滤波。 2) 编写函数w = genlaplacian(n),自动产生任一奇数尺寸n 的拉普拉斯算子,如5 ×5的拉普拉斯算子 w = [ 1 1 1 1 1 1 1 1 1 1 1 1 -24 1 1 1 1 1 1 1 1 1 1 1 1] 3) 分别采用5×5,9×9,15×15和25×25大小的拉普拉斯算子对blurry_moon.tif 谢谢观赏

基于FPGA的图像中值滤波器的硬件实现

基于FPGA 的图像中值滤波器的硬件实现 李洋波,赵不贿 (江苏大学电气学院 江苏镇江 212013) 摘 要:为了实现图像的实时处理,常采用现场可编程门列阵FP GA 对采集的数字图像做预处理,在讨论中值滤波算法原理的基础上,利用V HDL 硬件描述语言设计一个中值滤波模块对输入图像进行去噪处理,仿真结果说明该算法满足实时性要求,取得较好的仿真效果,并对中值滤波的改进算法进行了讨论。 关键词:现场可编程门列阵(FP GA );V HDL ;图像处理;中值滤波 中图分类号:TP391 文献标识码:B 文章编号:10042373X (2008)222099203 H ardw are Implementation of Median Filter B ased on FPG A L I Yangbo ,ZHAO Buhui (School of Electrical and Information Engineering ,Jiangsu University ,Zhenjiang ,212013,China ) Abstract :To realize the real 2time image processing ,people often uses FP GA to do image preprocessing with collected dig 2ital image.On basis of discussing the principle of median filter algorithm ,this paper uses V HDL language and designs a module of median filter to remove the impulse in input image and gains a real 2time request and good result.At the end of the paper ,it discusses the improved realization of the algorithm. K eywords :FP GA ;V HDL ;image processing ;median filter 收稿日期:2008203218 图像在生成,传输过程中常会受到各种噪声源的干扰和影响,为了抑制噪声,改善图像质量,在对图像进行分析前需要对图像进行滤波、平滑等处理。底层图像预处理算法的特点是数据量比较大,而运算结构相对较规律,用一般的软件实现会比较慢。由于FP GA 含有丰富的逻辑单元,很容易实现各种电路设计和完成较复杂的运算,对于不同的图像处理要求,只需要用软件修改FP GA 内部的逻辑功能即可。故对于实时性要求较高 的系统,利用FP GA 实现底层算法是理想选择之一。 本文即以中值滤波算法为例,介绍基于FP GA 的图像处理算法的硬件实现。1 中值滤波原理 中值滤波器是在1971年由J.w.J ukey 首先提出并应用于一维信号处理技术(时间序列分析)中,后来被二维图像信号处理技术所引用。中值滤波是一种能有效地抑制图像噪声而提高信噪比的非线性滤波技术。它是把邻域中的像素按灰度级进行排序,然后选择该组的中间值作为输出像素值。用公式表示为: g (x ,y )=median {f (x -i ,y -j )} (i ,j )∈S 上式中g (x ,y ),f (x ,y )为像素的灰度值;S 为模 板窗口。对于不同的图像内容和不同的应用要求,往往采用不同的模板窗口,其中常用的有3×3模板和5×5 模板。采用3×3模板拥有耗时短,资源省的优点,而采 用5×5模板能获得更好的处理效果。本设计通过en1使能端口可在3×3模板和5×5模板之间切换,来满足设计的不同需求。 与最小均方滤波器以及其他线性滤波器相比,中值滤波器对滤除脉冲干扰及图像扫描噪声很有效,同时又能够保护目标图像边缘,而且在实际运算过程中并不需要图像的统计特性,这也带来不少方便。2 实现方案 本设计以Altera 公司的Quart us Ⅱ软件为开发平 台,处理图像为8位的灰度图像,为了节省仿真时间,本设计假定图像每行的像素个数为20。其总体设计方案如图1所示 。 图1 总体设计方案 由图1可知,整个系统可分为2大模块: 3×3(5×5)模板生成模块和图像数据比较模块。3×3(5×5)模板生成模块处理图像的某个像素和其邻域像素,经过中值滤波算法排序后,得出其中值像素来取代原3×3(5×5)窗口中间位置的像素值。之后3×3 9 9《现代电子技术》2008年第22期总第285期 计算机应用技术

中值滤波

机械与电子工程学院信号分析与处理 课程设计报告 题目:图像信号的中值滤波 题号:1-14 小组成员:赵鑫、陈超、尹庆宇 班级:15电科1班 字数:4040 完成日期:2018年6月29日

目录 1引言 (1) 1.1设计目的 (1) 1.2章节组织 (1) 2设计原理 (1) 2.1中值滤波的基本原理 (1) 2.2中值滤波的特点 (2) 2.2.1对某些输入信号中值滤波的不变性 (2) 2.2.2中值滤波去噪声性能 (2) 2.2.3中值滤波的频谱特性 (2) 3设计内容 (2) 3.1中值滤波算法分析 (2) 3.2中值滤波在图像处理中的MATLAB实现 (3) 4设计结果分析 (5) 4.1中值滤波与均值滤波的比较 (5) 4.2中值滤波与均值滤波的进一步讨论 (6) 4.2.1中值滤波输出方差 (6) 4.2.2均值滤波输出方差 (8) 4.3结果分析 (8) 5总结 (8) 6参考文献 (9)

1引言 1.1设计目的 1.熟悉MA TLAB的使用方法包括函数、原理和方法的应用。 2.增强在通信系统设计方面的动手能力与自学能力。 3.进一步熟悉图像中值滤波的原理和方法。 4.比较中值滤波同其它滤波的实现效果 1.2章节组织 报告共分六章。第一章为引言,主要介绍本课程的设计目的;第二章为设计原理,给出了图像的中值滤波的基本原理;第三章为设计内容,给出了中值滤波的算法实现;第四章为设计结果分析,比较中值滤波同其它滤波的实现效果;第五章为总结,对报告的要点进行了总结;第六章为参考文献,给出了报告的主要参考资料。 2设计原理 2.1中值滤波的基本原理 中值滤波是一种比较常见的非线性信号处理技术,它以排序理论为基础,能够有效地抑制噪声。这种领域运算和卷积类似,它主要是排序领域中的像素,接下来再选择排序后的数据组中的中间值作为最终输出的像素值。其基本原理为:首先针对以一个像素为中心点的具体领域进行研究,领域也被称为窗口,可以是方形,十字形,圆形或其他类似的形状,然后对领域中的每个像素值按照灰度值的大小进行排序,最后再将这组数的中值作为中心点像素灰度的真值进行输出。序列中值的具体定义如下: 若x1,x2,…,xn为一组序列,先把这组序列按大小排序为xi1≤xi2≤xi3…≤xin,则该序 列的中值y为 实现时一般取一长度为L=2n+1的滤波窗口,n为正整数。将窗口在数据上滑动,中值滤波输出就是窗口正中所对的像素值用窗口内各像素的中值代替,

数字图像处理实验报告[邻域平均法和中值滤波法]

数字图像处理实验报告 班级: 姓名: 学号: 日期: 邻域平均法和中值滤波处理

一、实验目的 图像变换是数字图像处理中的一种综合变换,如直方图变换、几何变换等。通过本实验,使得学生掌握两种变换的程序实现方法。 二、实验任务 请设计程序,分别用邻域平均法,其模板为:和中值滤波法对testnoise图像进行去噪处理(中值滤波的模板的大小也设为3×3)。 三、实验环境 本实验在Windows平台上进行,对内存及cpu主频无特别要求,使用VC或者MINGW(gcc)编译器均可。 四、设计思路 介绍代码的框架结构、所用的数据结构、各个类的介绍(类的功能、类中方法的功能、类的成员变量的作用)、各方法间的关系写。在此不进行赘述。 五、具体实现 实现设计思路中定义的所有的数据类型,对每个操作给出实际算法。对主程序和其他模块也都需要写出实际算法。 代码: <邻域平均法>(3*3) #include

#include #include #include "hdr.h" /*------定义结构指针------*/ struct bmphdr *hdr; //定义用于直方图变量 unsigned char *bitmap,*count,*new_color; /*------main() 函数编------*/ int main() { //定义整数i,j 用于函数循环时的,nr_pixels为图像中像素的个数 int i, j ,nr_pixels,nr_w,nr_h; //定义两个文件指针分别用于提取原图的数据和生成直方图均衡化后的图像 FILE *fp, *fpnew; //定义主函数的参数包括:输入的位图文件名和输出的位图文件名,此处内容可以不要,在DOS下执行命令的时候再临时输入也可,为了方便演示,我这里直接把函数的参数确定了。// argc=3; // argv[1]="test.bmp"; // argv[2]="testzf.bmp"; //参数输入出错显示 /* if (argc != 3) { printf("please input the name of input and out bitm ap files\n");

(完整版)整流滤波电路实验报告

整流滤波电路实验报告 姓名:XXX 学号:5702112116 座号:11 时间:第六周星期4 一、实验目的 1、研究半波整流电路、全波桥式整流电路。 2、电容滤波电路,观察滤波器在半波和全波整流电路中的滤波效果。 3、整流滤波电路输出脉动电压的峰值。 4、初步掌握示波器显示与测量的技能。 二、实验仪器 示波器、6v交流电源、面包板、电容(10μF*1,470μF*1)、变阻箱、二极管*4、导线若干。 三、实验原理 1、利用二极管的单向导电作用,可将交流电变为直流电。常用的二极管整 流电路有单相半波整流电路和桥式整流电路等。 2、在桥式整流电路输出端与负载电阻RL并联一个较大电容C,构成电容滤 波电路。整流电路接入滤波电容后,不仅使输出电压变得平滑、纹波显著成小,同时输出电压的平均值也增大了。 四、实验步骤 1、连接好示波器,将信号输入线与6V交流电源连接,校准图形基准线。 2、如图,在面包板上连接好半波整流电路,将信号连接线与电阻并联。

3、如图,在面包板上连接好全波整流电路,将信号输入线与电阻连接。

4、在全波整流电路中将电阻换成470μF的电容,将信号接入线与电容并联。 5、如图,选择470μF的电容,连接好整流滤波电路,将信号接入线与电阻并联。 改变电阻大小(200Ω、100Ω、50Ω、25Ω)

200Ω100Ω50Ω

25Ω 6、更换10μF的电容,改变电阻(200Ω、100Ω、50Ω、25Ω)200Ω 100Ω

50Ω 25Ω 五、数据处理 1、当C 不变时,输出电压与电阻的关系。 输出电压与输入交流电压、纹波电压的关系如下: avg)r m V V V (输+= 又有i avg R C V ??=输89.2V )(r 所以当C 一定时,R 越大 就越小 )(r V avg 越大 输V

数字图像处理实验三中值滤波和均值滤波实验报告材料

数字图像处理实验三 均值滤波、中值滤波的计算机实现12281166 崔雪莹计科1202班 一、实验目的: 1)熟悉均值滤波、中值滤波处理的理论基础; 2)掌握均值滤波、中值滤波的计算机实现方法; 3)学习VC++ 6。0 的编程方法; 4)验证均值滤波、中值滤波处理理论; 5)观察均值滤波、中值滤波处理的结果。 二、实验的软、硬件平台: 硬件:微型图像处理系统,包括:主机, PC机;摄像机; 软件:操作系统:WINDOWS2000或WINDOWSXP应用软件:VC++ 6.0 三、实验内容: 1)握高级语言编程技术; 2)编制均值滤波、中值滤波处理程序的方法; 3)编译并生成可执行文件; 4)考察处理结果。 四、实验要求: 1)学习VC++确6。0 编程的步骤及流程; 2)编写均值滤波、中值滤波的程序;

3)编译并改错; 4)把该程序嵌入试验二给出的界面中(作适当修改); 5)提交程序及文档; 6)写出本次实验的体会。 五、实验结果截图 实验均值滤波采用的是3X3的方块,取周围的像素点取得其均值代替原像素点。边缘像素的处理方法是复制边缘的像素点,增加一个边框,计算里面的像素值得均值滤波。

六、实验体会 本次实验在前一次的实验基础上增加均值滤波和中值滤波,对于椒盐噪声的处理,发现中值滤波的效果更为好一点,而均值滤波是的整个图像变得模糊了一点,效果差异较大。本次实验更加增加了对数字图像处理的了解与学习。 七、实验程序代码注释及分析 // HistDemoADlg.h : 头文件 // #include "ImageWnd.h" #pragma once // CHistDemoADlg 对话框 class CHistDemoADlg : public CDialogEx { // 构造

低通滤波器设计实验报告

低通滤波器设计实验报 告 Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】

低通滤波器设计 一、设计目的 1、学习对二阶有源RC 滤波器电路的设计与分析; 2、练习使用软件ORCAD (PISPICE )绘制滤波电路; 3、掌握在ORCAD (PISPICE )中仿真观察滤波电路的幅频特性与相频特性曲线 。 二、设计指标 1、设计低通滤波器截止频率为W=2*10^5rad/s; 2、品质因数Q=1/2; 三、设计步骤 1、考虑到原件分散性对整个电路灵敏度的影响,我们选择 R1=R2=R,C1=C2=C ,来减少原件分散性带来的问题; 2、考虑到电容种类比较少,我们先选择电容的值,选择电容 C=1nF; 3、由给定的Wp 值,求出R 12121C C R R Wp ==RC 1=2*10^5 解得:R=5K? 4、根据给定的Q ,求解K Q=2121C C R R /K)RC -(1+r2)C1+(R1= K -31 解得:K=3-Q 1= 5、根据求出K 值,确定Ra 与Rb 的值

Ra=2 K=1+ Rb Ra=Rb 这里取 Ra=Rb=10K?; 四、电路仿真 1、电路仿真图: 2、低通滤波器幅频特性曲线 3、低通滤波器相频特性曲线 注:改变电容的值:当C1=C2=C=10nF时 低通滤波器幅频特性曲线 低通滤波器相频特性曲线 五、参数分析 1、从幅频特性图看出:该低通滤波器的截止频率大约33KHz, 而我们指标要求设计截止频率 f= Wp/2?= 存在明显误差; 2、从幅频特性曲线看出,在截至频率附近出现凸起情况,这是二阶滤波器所特有的特性; 3、从相频特性曲线看出,该低通滤波器的相频特性相比比较好。 4、改变电容电阻的值,发现幅频特性曲线稍有不同,因此,我们在设计高精度低误差的滤波器时一定要注意原件参数的选择。 六、设计心得:

中值滤波器脉冲噪声毕业论文中英文资料外文翻译文献

中值滤波器脉冲噪声 中英文资料外文翻译文献Improved 2-D Median Filter for On-Line Impulse Noise Suppressiom Abstract-An inproved 2-D median filter employing multishell concept to suppress impulse noise ,is presented.The performance of proposed filter is evaluated over image ‘LENA’,The impulsive noise is added using MATLAB utility.The modified strategy reduces the mnuber of replacement and results in better performance and simple hardware realization that is suitable for on-line implementation. Index terms-Median Filter , Multi-shell Median Filter, Impulse Noise I.INTRODUCTION In TV and other imaging systems,impulse noise is a common impairment . The standard T.V.Broadcast signal is often contaminated with impulsive noise arising from various sources such as household electrical appliance and atmospheric disturbances.Broad banding of the signal further increases the level of impulsive noise. V arious filters are proposed to suppress such impairments[1].The median filter(MF)[1-2] is widely used for impulse noise suppression and the multishell median filter(MMF)[3] introduces the concept of missing line recovery. Although these filters

有源滤波器实验报告

有源滤波器实验报告文件编码(008-TTIG-UTITD-GKBTT-PUUTI-WYTUI-8256)

实验七集成运算放大器的基本应用(Ⅱ)—有源滤波器 一、实验目的 1、熟悉用运放、电阻和电容组成有源低通滤波、高通滤波和带通、带阻滤波器。 2、学会测量有源滤波器的幅频特性。 二、实验原理 (a)低通(b)高通 (c) 带通(d)带阻 图7-1 四种滤波电路的幅频特性示意图 由RC元件与运算放大器组成的滤波器称为RC有源滤波器,其功能是让一定频率范围内的信号通过,抑制或急剧衰减此频率范围以外的信号。可用在信息处理、数据传输、抑制干扰等方面,但因受运算放大器频带限制,这类滤波器主要用于低频范围。根据对频率范围的选择不同,可分为低通(LPF)、高通(HPF)、带通(BPF)与带阻(BEF)等四种滤波器,它们的幅频特性如图7-1所示。 具有理想幅频特性的滤波器是很难实现的,只能用实际的幅频特性去逼近理想的。一般来说,滤波器的幅频特性越好,其相频特性越差,反之亦然。滤波器的阶数越高,幅频特性衰减的速率越快,但RC网络的节数越多,元件参数计算越繁琐,电路调试越困难。任何高阶滤波器均可以用较低的二阶RC有滤波器级联实现。 1、低通滤波器(LPF) 低通滤波器是用来通过低频信号衰减或抑制高频信号。

如图7-2(a )所示,为典型的二阶有源低通滤波器。它由两级RC 滤波环节与同相比例运算电路组成,其中第一级电容C 接至输出端,引入适量的正反馈,以改善幅频特性。图7-2(b )为二阶低通滤波器幅频特性曲线。 (a)电路图 (b)频率特性 图7-2 二阶低通滤波器 电路性能参数 1 f uP R R 1A + = 二阶低通滤波器的通带增益 RC 2π1 f O = 截止频率,它是二阶低通滤波器通带与阻带的界限频率。 uP A 31 Q -= 品质因数,它的大小影响低通滤波器在截止频率处幅频特性的形状。 2、高通滤波器(HPF ) 与低通滤波器相反,高通滤波器用来通过高频信号,衰减或抑制低频信号。 只要将图7-2低通滤波电路中起滤波作用的电阻、电容互换,即可变成二阶有源高通滤波器,如图7-3(a)所示。高通滤波器性能与低通滤波器相反,其频率响应和低通滤波器是“镜象”关系,仿照LPH 分析方法,不难求得HPF 的幅频特性。

优秀毕业论文——数字图像平滑滤波在MATLAB上的实现

优秀毕业论文——数字图像平滑滤波在MATLAB上的实现第 5 章图像平滑滤波在MATLAB上的实现 本课程设计在MATLAB上实现的程序和结果 I=imread('b.bmp'); v=0.5*ones(size(I)); I1=imnoise(I,'localvar',v); I2=imnoise(I,'salt & pepper',0.02); I3=imnoise(I,'speckle',0.02); figure; subplot(221); hold on; title('原图像'); imshow(I); hold off; subplot(222); hold on; title('受高斯噪声污染的图像'); imshow(I1); hold off; subplot(223); hold on; title('受椒盐噪声污染的图像'); imshow(I2); hold off; subplot(224);

hold on; title('受乘性噪声污染的图像'); imshow(I3); hold off; 原图像受高斯噪声污染的图像 受椒盐噪声污染的图像受乘性噪声污染的图像 h=ones(3,3)/9; J1=imfilter(I1,h); J2=imfilter(I2,h); J3=imfilter(I3,h); figure; subplot(221); hold on; title('原图像'); imshow(I); hold off; subplot(222); hold on; title('对有高斯噪声的3*3邻域平均后的图像'); imshow(J1); hold off; subplot(223); hold on; title('对有椒盐噪声的3*3邻域平均后的图像'); imshow(J2); hold off;

数字图像处理实验报告:灰度变换与空间滤波(附带程序,不看后悔)

1.灰度变换与空间滤波 一种成熟的医学技术被用于检测电子显微镜生成的某类图像。为简化检测任务,技术决定采用数字图像处理技术。发现了如下问题:(1)明亮且孤立的点是不感兴趣的点;(2)清晰度不够,特别是边缘区域不明显;(3)一些图像的对比度不够;(4)技术人员发现某些关键的信息只在灰度值为I1-I2 的范围,因此,技术人员想保留I1-I2 区间范围的图像,将其余灰度值显示为黑色。(5)将处理后的I1-I2 范围内的图像,线性扩展到0-255 灰度,以适应于液晶显示器的显示。请结合本章的数字图像处理处理,帮助技术人员解决这些问题。 1.1 问题分析及多种方法提出 (1)明亮且孤立的点是不够感兴趣的点 对于明亮且孤立的点,其应为脉冲且灰度值为255(uint8)噪声,即盐噪声,为此,首先对下载的细胞图像增加盐噪声,再选择不同滤波方式进行滤除。 均值滤波:均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标像素为中心的周围8 个像素,构成一个滤波模板,即去掉目标像素本身),再用模板中的全体像素的平均值来代替原来像素值。 优点:速度快,实现简单; 缺点:均值滤波本身存在着固有的缺陷,即它不能很好地保护图像细节,在图像去噪的同时也破坏了图像的细节部分,从而使图像变得模糊,不能很好地去除噪声点。 其公式如下: 使用矩阵表示该滤波器则为: 中值滤波:

滤除盐噪声首选的方法应为中值滤波,中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。 其过程为: a、存储像素1,像素2 ....... 像素9 的值; b、对像素值进行排序操作; c、像素5 的值即为数组排序后的中值。优点:由于中值滤波本身为一种利用统计排序方法进行的非线性滤波方法,故可以滤除在排列矩阵两边分布的脉冲噪声,并较好的保留图像的细节信息。 缺点:当噪声密度较大时,使用中值滤波后,仍然会有较多的噪声点出现。自适应中值滤波: 自适应的中值滤波器也需要一个矩形的窗口S xy ,和常规中值滤波器不同的是这个窗口的大小会在滤波处理的过程中进行改变(增大)。需要注意的是,滤波器的输出是一个像素值,该值用来替换点(x, y)处的像素值,点(x, y)是滤波窗口的中心位置。 其涉及到以下几个参数: 其计算过程如下:

FIR滤波器设计实验报告

实验报告 课程名称:数字信号处理 实验项目:FIR滤波器设计 专业班级: 姓名:学号: 实验室号:实验组号: 实验时间:批阅时间: 指导教师:成绩:

实验报告 专业班级: 学号: 姓名: 一、实验目的: 1、熟悉线性相位FIR 数字低通滤波器特性。 2、熟悉用窗函数法设计FIR 数字低通滤波器的原理和方法。 3、了解各种窗函数对滤波特性的影响。 要求认真复习FIR 数字滤波器有关内容实验内容。 二、实验原理 如果所希望的滤波器理想频率响应函数为)(e H j ωd ,则其对应的单位样值响应为 ωπ= ωππ -?d e j ωn j d d e )(H 21(n)h 窗函数法设计法的基本原理是用有限长单位样值响应h(n)逼近(n)h d 。由于(n)h d 往往是无限长序列,且是非因果的,所以用窗函数(n)w 将(n)h d 截断,并进行加权处理,得 到:(n)(n)h h(n)d w ?=。h(n)就作为实际设计的FIR 滤波器单位样值响应序列,其频率函数)H(e j ω 为∑-=ω= 1 n n j -j ω h(n)e )H(e N 。式中N 为所选窗函数(n)w 的长度。 用窗函数法设计的FIR 滤波器性能取决于窗函数类型及窗口长度N 的取值。设计过程中要根据阻带衰减和过渡带宽度的要求选择合适的窗函数类型和窗口长度N 。各类窗函数所能达到的阻带最小衰减和过渡带宽度见P342表7-3。 选定窗函数类型和长度N 以后,求出单位样值响应(n)(n)h h(n)d w ?=。验算 )()()]([)(ω?ωω==j g j e H n h DTFT e H 是否满足要求,如不满足要求,则重新选定窗函 数类型和长度N ,直至满足要求。 如要求线性相位特性,h(n)还必须满足n)-1-h(N h(n)±=。根据上式中的正、负号和长度N 的奇偶性又将线性相位FIR 滤波器分成4类(见P330表7-1及下表),根据要设计的滤波器特性正确选择其中一类。例如要设计低通特性,可选择情况1、2,不能选择情况3、4。

有源滤波器实验报告

实验七 集成运算放大器的基本应用(n )—有源滤波器 一、 实验目的 i 熟悉用运放、电阻和电容组成有源低通滤波、高通滤波和带通、带阻滤波器。 2、学会测量有源滤波器的幅频特性。 二、 实验原理 (a )低通 (b )高通 (c)带通 (d )带阻 图7—1四种滤波电路的幅频特性示意图 由RC 元件与运算放大器组成的滤波器称为 RC 有源滤波器,其功能是让一定频率范围内的信号通过, 抑制或急剧衰减此频率范围以外的信号。 可用在信息处理、数据传输、 抑制干扰等方面,但因受运算放 大器频带限制,这类滤波器主要用于低频范围。根据对频率范围的选择不同,可分为低通 (LPF)、高通 (HPF)、带通(BPF)与带阻(BEF)等四种滤波器,它们的幅频特性如图 7— 1所示。 具有理想幅频特性的滤波器是很难实现的, 只能用实际的幅频特性去逼近理想的。 一般来说,滤波 器的幅频特性越好,其相频特性越差,反之亦然。滤波器的阶数越高 ,幅频特性衰减的速率越快,但 RC 网络的节数越多,元件参数计算越繁琐,电路调试越困难。任何高阶滤波器均可以用较低的二阶 RC 有 滤波器级联实现。 1、低通滤波器(LPF ) 低通滤波器是用来通过低频信号衰减或抑制高频信号 如图7— 2 (a )所示,为典型的二阶有源低通滤波器。它由两级 RC 滤波环节与同相比例运算电路 组成,其中第一级电容 C 接至输出端,弓I 入适量的正反馈,以改善幅频特性。图 7—2 (b )为二阶低 通滤波器幅频特性曲线。 (a) 电路图 图7—2二阶低通滤波器 电路性能参数 ―1奈二阶低通滤波器的通带增益 截止频率,它是二阶低通滤波器通带与阻带的界限频率。 (b)频率特性 1 2 T RC

实验报告基于MATLAB的数字滤波器设计

实验7\8基于MATLAB勺数字滤波器设计实验目的:加深对数字滤波器的常用指标和设计过程的理解。 实验原理:低通滤波器的常用指标: 1 一6P 兰G(e^) ≤ 1 + 6P , for 国≤ ωP G(J") ≤ 6s, for 国s ≤ ⑷≤ ∏ 通带边缘频率:'P ,阻带边缘频率:'s, 通带起伏:J P,通带峰值起伏: C(P= —20 IOg io (^-OP )【d B 】阻带起伏.冠S PaSSband StOPband Tran Siti on band Fig 7.1 TyPiCaI magn itude SPeCifiCati On for a digital LPF :S = -20 log ιo(r)[dB 】 O 数字滤波器有IIR和FlR两种类型,它们的特点和设计方法不同。 在MATLAB^,可以用[b , a]=butter ( N,Wr)等函数辅助设计IIR数字滤波器,也可以用b=fir1(N,Wn, 'type ')等函数辅助设计FIR数字滤波器。 实验内容:利用MATLAB编程设计一个数字带通滤波器,指标要求如下: 通带边缘频率:??P1=0.45^,?? P2=0?65 二,通带峰值起伏:[dB】O 阻带边缘频率:'s1 0.3…,'s2 0.75…,最小阻带衰减:-S 4°[dB] O 分别用IIR和FlR两种数字滤波器类型进行设计。 实验要求:给出IIR数字滤波器参数和FIR数字滤波器的冲激响应,绘出它们的幅度和相位频响曲线,讨论它们各自的实现形式和特点。 实验内容: IRR代码: wp=[0.45*pi,0.65*pi]; ws=[0.3*pi,0.75*pi]; Ap=1; A S=40; [N,Wc]=buttord(wp∕pi,ws∕pi,Ap,As); [b,a]=butter(N,Wc)%[b,a] = butter( n, Wn,'ftype') 最小阻带衰减:

相关文档