数字信号处理实验报告

数字信号处理实验报告
数字信号处理实验报告

实验一:离散时间信号的表示与运算

一:实验内容、原理描述及实验结果 1. 离散时间信号的表示

离散时间信号定义为一时间函数,它只在某些离散的瞬时给出函数值,而在其他处无定义。因此,它是时间上不连续按一定先后次序排列的一组数的集合,故称为时间序列,简称序列,通常表示为

{x (n )} -∞

例1.1 用matlab 编写生成单位脉冲序列函数的程序,n ∈(-5,5)。

程序代码如下:n0=0;n1=-5;n2=5;n=[n1:n2];nc=length(n);x=zeros(1,nc);

for i=1:nc

if n(i)==n0 x(i)=1; end

end

stem(n,x)

xlabel('n');ylabel('x(n)');title('delta sequence'); grid

或者:n0=0;n1=-5;n2=5;n=[n1:n2];x=[(n-n0)==0];stem(n,x);

xlabel('n');ylabel('x(n)');title('delta sequence');grid 图形如下:

n

x (n )

(2)单位阶跃序列

例1.2 用matlab 编写生成单位阶跃序列函数的程序,n ∈(-5,5)。

程序代码如下:n0=0;n1=-5;n2=5;n=[n1:n2];x=[(n-n0)>=0];stem(n,x)

xlabel('n');ylabel('x(n)');title('step sequence');grid

图形如下:

n

x (n )

(3)单位斜坡序列

例1.3 用matlab 编写生成单位斜坡序列函数的程序,n ∈(0,5)。 程序代码如下:n1=0;n2=5;n=[n1:1:n2];x=n;stem(n,x)

xlabel('n');ylabel('x(n)');title('ramp sequence');grid

图形如下:

n

x (n )

(4)正余弦序列

例1.4 用matlab 编写正弦序列x(n)=5sin(0.1πn+π/3)函数的程序。

程序代码如下:n=[0:50];x=5*sin(0.1*pi*n+pi/3);stem(n,x)

xlabel('n');ylabel('x(n)');title('sine sequence');grid

图形如下:

n

x (n )

(5)实指数序列

例1.5 用matlab 编写生成实指数序列的程序。 程序代码如下:n=[0:20];x=(0.78).^n;stem(n,x)

xlabel('n');ylabel('x(n)');title('real power sequence');grid

图形如下:

n

x (n )

(6)复指数序列

例1.6 用matlab 编写生成复指数序列x(n)=2e (-0.08+j0.26)n 的程序, n ∈(-20,20)。 程序代码如下:clf

n=[-20:20];a=-0.08+0.26*j;x=2*exp(a*n);b=real(x);c=imag(x);d=abs(x);e=(180/pi)*angle(x); subplot(221)

stem(n,b);xlabel('n');title('real part');grid subplot(222)

stem(n,c);xlabel('n');title('imaginary part');grid

stem(n,d);xlabel('n');title('magnitude');grid subplot(224)

stem(n,e);xlabel('n');title('phase');grid 图形如下:

-20

-10

01020

n

real part

-20

-10

01020

n imaginary part

n

magnitude

n

phase

(7)随机序列

MATLAB 提供两个产生随机序列的函数:

rand(1,n)用于产生[0,1]上均匀分布随机序列,长度为n 。

randn(1,n)用于产生均值为零、方差为一的高斯随机序列,即白噪声序列,长度为n 。 例1.7 用matlab 编写生成长度为14的随机序列。 程序代码如下:n=[1:14];x=rand(1,14);

subplot(211)

stem(n,x);xlabel('n');ylabel('x(n)');title('rand sequence');grid x=randn(1,14); subplot(212)

stem(n,x);xlabel('n');ylabel('x(n)');title('randn sequence');grid

图形如下:

n

x (n )

rand sequence

n

x (n )

若x(n)=x(n+T),则x(n)为周期序列,周期为T。

用matlab产生一个信号x(n)的P个周期的周期信号xp(n),用matlab语言可直接产生

2.离散时间信号的运算

离散时间信号一般可用数的序列表示,和连续时间信号类似,序列也可进行运算。(1)信号加

序列的加性条件是x1(n)和x2(n)具有相等的长度,且在相同的采样位置上相加,否则需进行转换。

例2.1 用matlab实现信号加的函数sigadd()的程序。

程序代码如下:function[y,n]=sigadd(x1,n1,x2,n2)

n=min(min(n1),min(n2)):max(max(n1),max(n2));y1=zero(1,length(n));y2=y1;

y1(find((n>=min(n1))& (n<=max(n1))==1))=x1;

y2(find((n>=min(n2))& (n<=max(n2))==1))=x2;

y=y1+y2;

(2)信号乘

序列的乘性条件是x1(n)和x2(n)具有相等的长度,且在相同的采样位置上相乘,否则需进行转换。

例2.2 用matlab实现信号乘的函数sigmult()的程序。

程序代码如下:function[y,n]=sigmult(x1,n1,x2,n2)

n=min(min(n1),min(n2)):max(max(n1),max(n2));y1=zeros(1,length(n));y2=y1;

y1(find((n>=min(n1))& (n<=max(n1))==1))=x1;

y2(find((n>=min(n2))& (n<=max(n2))==1))=x2;

y=y1.*y2;

(3)信号移位

y(n)=x(n+n0)

序列y(n)相对于序列x(n)左移n0个采样周期。

例2.3 用matlab实现序列移位的函数sigshift()的程序。

程序代码如下:function[y,n]=sigshift(x,m,n0)

n=m+n0;y=x;

(4)序列折叠

y(n)=x(-n)

例2.4 用matlab实现序列折叠函数sigfold()的程序。

程序代码如下:function[y,n]=sigfold(x,m,n0)

Y=fliplr(x);n=-fliplr(n);

(5) 序列的奇偶性

任何一个序列x(n)都可以分解为偶分量x e (n)和奇分量x o (n)两部分之和。 x(n)= x e (n)+ x o (n)

例2.5 用matlab 编写函数sigevenodd ()用于将序列分成奇序列和偶序列两部分。 程序代码如下:function[xeven,xodd,m]=sigevenodd(x,n) If(imag(x)~=0)

error(‘x is not a real sequence ’); end

m=fliplr(n);m1=min([m,n]);m2=max([m,n]);m=m1:m2;nm=n(1)-m(1); n1=1:length(n);x1(n1+nm)=x;x=x1;xeven=0.5*(x+fliplr(x)); xodd=0.5*(x-fliplr(x)); 例2.6 设单位阶跃序列

将其分解为偶分量和奇分量。

程序代码如下:clf

n0=0;n1=-10;n2=10;n=[n1:n2];x=[(n-n0)>=0]; subplot(311)

stem(n,x);xlabel('n');ylabel('x(n)');title('step sequence');grid [xeven,xodd,m]=sigevenodd(x,n); subplot(312)

stem(m,xeven);xlabel('m');ylabel('x even(n)');title('even part'); grid

subplot(313)

stem(m,xodd);xlabel('m');ylabel('x odd(n)');title('odd part');grid

图形如下:

n x (n )

-10

-8

-6

-4

-2

02

4

6

8

10

m x e v e n (n )

m

x o d d (n )

实验二:离散时间系统分析

例1.1使用MATLAB 的residuez 函数,求出

1218153332

5644162)(234234-+-+++++=

z z z z z z z z z X 的部分分式展开和。

代码:B=[2 16 44 56 32];A=[3 3 -15 18 -12];[R,P,K]=residuez(B,A) 结果:R = -0.0177 ,9.4914 ,-3.0702 + 2.3398i ,-3.0702 - 2.3398i

P =-3.2361,1.2361 ,0.5000 + 0.8660i ,0.5000 - 0.8660i

K =-2.6667

例1.2使用MATLAB 画出下列因果系统的系统函数的零极点图,并判断系统的稳定性。

48.096.15.29

.06.12)(23

2-+---=z z z z z z H

代码:B=[2,-1.6,-0.9];A=[1,-2.5,1.96,-0.48];zplane(B,A),grid on legend('零点','极点');title('零极点分布图') 图形:

Real Part

I m a g i n a r y P a r t

零极点分布图

由图可以看出有极点在单位圆外,所以系统不稳定。 例1.3已知IIR 滤波传递函数为试确定其零极点表

达式。

代码: b=[2 3 4];a=[1 3 3 1];f=filt(b,a);q=roots(b)

p=roots(a) k=b(1)/a(1) bb=k*poly(q) aa=poly(p)

结果: Transfer function:

2 +

3 z^-1 +

4 z^-2 --------------------------

1 + 3 z^-1 + 3 z^-

2 + z^-3

Sampling time: unspecified

q =-0.7500 + 1.1990i

-0.7500 - 1.1990i

p =-1.0000

-1.0000 + 0.0000i

-1.0000 - 0.0000i

k = 2

bb =2.0000 3.0000 4.0000

aa =1.0000 3.0000 3.0000 1.0000

例1.4已知滤波器的传递函数试求该滤波器的零极点和状态空间表达式

代码:num=[2 3];den=[1 0.4 1];f=filt(num,den)

disp('Convert to zero-pole-gain')

[z,p,k]=tf2zp(num,den)

disp('Convert to state space')

[A,B,C,D]=tf2ss(num,den)

结果:Sampling time: unspecified

Convert to zero-pole-gain

z =-1.5000

p =-0.2000 + 0.9798i

-0.2000 - 0.9798i

k =2

Convert to state space

A =-0.4000 -1.0000

1.0000 0

B =1

C =2 3

D =0

例1.5已知系统传递函数求其部分分式展开式。

代码:b=[-4 8];a=[1 6 8];[r,p,k]=residuez(b,a)

结果:r =-12;8

p =-4

-2

k = [ ]

例1.6已知滤波器的二阶形式确定其空间状态表达式

和零极点表达式。

代码:sos=[1 1 1 1 0 -1;-2 3 1 1 10 1];[num,den]=sos2tf(sos);f-filt(num,den)

disp('convert to zero-pole form')

[z,p,k]=sos2zp(sos)

结果:Transfer function:

4 + 22.8 z^-1 + 29.6 z^-2 - 25.8 z^-3 - 36.6 z^-4 - 7.4 z^-

5 - z^-6

-------------------------------------------------------------------

1 + 10.4 z^-1 + 5 z^-

2 - 5 z^-4 - 10.4 z^-5 - z^-6

Sampling time: unspecified

convert to zero-pole form

z =-0.5000 + 0.8660i

-0.5000 - 0.8660i

1.7808

-0.2808

p =1.0000

-1.0000

-9.8990

-0.1010

k =-2

例1.7把下面函数传递形式的IIR滤波器转变为格型、梯型结构

代码:num=[1 2 2 1];den=[1 13/24 5/8 1/3];%Transfer function to lattice filter conversion [k,v]=tf2latc(num,den)

结果:k =0.2500

0.5000

0.3333

v =-0.2695

0.8281

1.4583

1.0000

例1.8已知h=[1 2 3 2 ],x为4*1随机序列,求其卷积矩阵。

程序:h=[1 2 3 2];n=4;randn('seed',0);x=randn(n,1);C=convmtx(h',n)

y1=C*x

y2=conv(h,x)

结果:C =1 0 0 0

2 1 0 0

3 2 1 0

2 3 2 1 0 2 3 2 0 0 2 3 0 0 0 2 y1 =1.1650 2.9567 4.8236 4.7122 2.1821 1.2050 0.7032 y2 =1.1650 2.9567 4.8236 4.7122 2.1821 1.2050 0.7032

例1.9已知滤波器的传递函数1

8.0115

.0)(--=

z z H ,输入信号为)()05.0sin(2)(t w t t x +=π,

W(t)为随机信号,幅值为0.2.试绘出滤波器输出信号。

程序:b=0.15;a=[1 -0.8];n=[0:100];x=2*sin(0.05*pi*n)+0.2*randn(1,101);imp=[1;zeros(100,1)];

h=filter(b,a,imp);yc=conv(h,x);y=yc(1:101);y1=filter(b,a,x);plot(n,x,'r',n,y1,'m'); xlabel('n');ylabel('x y yc');title('time response');grid 图形:

10

20

30

40

5060

70

80

90

100

n

x y y c

time response

实验三:Z 变换

例1.1求z 的逆变换:已知2

12

143)(----+-+=z

z z z z X ,1z >,求其逆变换。 代码:num=[0 1 1];den=[3 -4 1];[r,p,k]=residuez(num,den) 结果:r =1.0000 -2.0000 p =1.0000 0.3333 k =1

则实验结果为:

1

1

311211

1)(----

-+

=z z z x

例1.2利用z 变换求卷积:已知序列x(n)={2,3,4},y(n)={3,4,5,6},求h(n)=x(n)*y(n)。

程序:xn=[2 3 4];Xz=[2 3 4]; yn=[3 4 5 6];Yz=[3 4 5 6]; xnCyn=conv(xn,yn) XzMYz=conv(Xz,Yz) 结果:

xnCyn =6 17 34 43 38 24 XzMYz =6 17 34 43 38 24

则其结果为:h(n)=x(n)*y(n)={ 6 17 34 43 38 24}

例1.3利用变换解差分方程:求解系统差分方程y(n)=x(n)-5x(n-1)+8x(n-3)。

解:其取Z 变换为:H(z)=3

1851--+-z z

程序:b=[1 -5 0 8];N=30;n=0:N-1;x=0.8.^n;y=filter(b,1,x);stem(n,y);grid 图形:

例1.4求解差分方程:y(n)-0.4y(n-1)-0.45y(n-2)=0.45x(n)+0.4x(n-1)-x(n-2),其中

)(8.0)(n u n x n =,初始状态y(-1)=0,y(-2)=1,x(-1)=1,x(-2)=2.

解:将方程两边进行变换得:

2

12

145.04.014.045.0)(-------+=z z z z z H

代码:num=[0.45 0.4 -1];den=[1 -0.4 -0.45];x0=[1 2];y0=[0 1];N=50;

n=[0:N-1];x=0.8.^n ;Zi=filtic(num,den,y0,x0);[y,Zf]=filter(num,den,x,Zi); plot(n,x,'r-',n,y,'b--');title('response')

xlabel('n');ylabel('x(n)-y(n)');legend('Input x','Output y',1);grid

图形:

response

n

x (n )-y (n )

实验四 :DTF 变换的性质及应用

例1.1周期序列——离散傅里叶级数:求下面周期序列的DFS 表达式

(1)求其

主值序列;(2)求

的主值序列。

(1)程序如下:function[Xk]=dfs(xn,N)

n=[0:1:N-1];k=n;WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^nk; Xk=xn*WNnk;xn=[0 1 2 3];N=4;Xk=dfs(xn,N)'

结果:Xk =6.0000

-2.0000 - 2.0000i -2.0000 + 0.0000i -2.0000 + 2.0000i

(2)程序如下:function[xn]=idfs(Xk,N)

n=[0:1:N-1];k=n;WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^(-nk); xn=Xk*WNnk/N;Xk=[6.0000-2.0000+2.0000i-2.0000-2.0000-2.0000i];

k

|X (k )|

k

|X (k )|

N=4;xn=idfs(Xk,N)'

结果:Xk =0

1.0000 - 0.0000i

2.0000 + 0.0000i

3.0000 + 0.0000i

例1.2.周期方波序列:

其中,N 是基本周期,L/N 是占空比,绘出下列情况下的()X k 曲线: (a) L=5,N=20; (b) L=5,N=40; (c) L=5,N=60; (d) L=7,N=20. 代码:L=5;N=20;k=[-N/2:N/2];xn=[ones(1,L),zeros(1,N-L)];Xk=dfs(xn,N);

magXk=abs([Xk(N/2+1:N) Xk(1:N/2+1)]); subplot(2,2,1);

stem(k,magXk);axis([-N/2,N/2,0,0.3]);xlabel('k');ylabel('|X(k)|');

L=5;N=40;k=[-N/2:N/2];xn=[ones(1,L),zeros(1,N-L)];Xk=dfs(xn,N); magXk=abs([Xk(N/2+1:N) Xk(1:N/2+1)]) subplot(2,2,2);

stem(k,magXk);axis([-N/2,N/2,0,0.2]);xlabel('k');ylabel('|X(k)|');

L=5;N=60;k=[-N/2:N/2];xn=[ones(1,L),zeros(1,N-L)];Xk=dfs(xn,N); magXk=abs([Xk(N/2+1:N) Xk(1:N/2+1)]) subplot(2,2,3);

stem(k,magXk);axis([-N/2,N/2,0,0.1]);xlabel('k');ylabel('|X(k)|');

L=7;N=20;k=[-N/2:N/2];xn=[ones(1,L),zeros(1,N-L)];Xk=dfs(xn,N) magXk=abs([Xk(N/2+1:N) Xk(1:N/2+1)]) subplot(2,2,4);

stem(k,magXk);axis([-N/2,N/2,0,0.5]);xlabel('k');ylabel('|X(k)|'); 图形:

例1.3有限长序列——离散傅里叶变换:

已知序列()cos(0.48)cos(0.52),0100x n n n n ππ=+≤≤,试绘制x(n)及它的傅立叶变换

()X k 图。

解:函数调用:dft.m 文件

function [Xk]=dft(xn,N)

n=[0:1:N-1];k=n;WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^nk;Xk=xn*WNnk; 代码:N=100;n=0:N-1;xn=cos(0.48*pi*n)+cos(0.52*pi*n);Xk=dft(xn,N);

magXk=abs(Xk);phaXk=angle(Xk); subplot(121);

plot(n,xn);xlabel('n');ylabel('x(n)');title('x(n) N=100'); subplot(122);

k=0:length(magXk)-1;plot(k,magXk);xlabel('k');ylabel('|X(k)|');title('X(k) N=100'); 图形:

-2

-1.5-1

-0.500.51

1.52n

x (n )

x(n) N=100

k

|X (k )|

X (k) N=100

实验五 :离散时间系统的频域响应

例1.1z域重构—由离散傅里叶变换到z变换:

已知序列的x(n)=(0.9)n u(n),(1)球序列的z变换;(2)当频率采样点数M=5,10,20,25时,序列的傅立叶变换X(k)及其逆变换x(n);(3)比较M对x(n)的影响。

解:调用函数idft:

function[xn]=idft(Xk,N)

n=[0:1:N-1];k=n;WN=exp(-j*2*pi/N);nk=n'*k;

WNnk=WN.^(-nk);xn=Xk*WNnk/N;

代码:clf

a=0.8;Nsum=40;n=0:Nsum-1;

for i=1:4

switch i

case 1

N=5;

case 2

N=10;

case 3

N=20;

case 4

N=40;

end

k=0:N-1;zk=exp(j*2*pi*k/N);Xk=zk./(zk-a);xnN=real(idft(Xk,N));xn=xnN'*ones(1,Nsum/N);

xn=(xn(:))';gsptext=['22' int2str(i)];

subplot(gsptext)

stem(n,xn);axis([0,40,-0.1,1.5]);xtext=['IDFT N=' int2str(N)];xlabel('n');ylabel('x(n)');title(xtext); hold on

plot(n,zeros(1,length(n)));

hold off

end

图形:

n

x (n )

IDFT N=5

n

x (n )

IDFT N=10

n

x (n )

IDFT N=20

n

x (n )

IDFT N=40

由图可以看出,当频域采样点数N 小于10时,引起较大的时域混叠,恢复的x(n)会产生较大失真。当N 较大,不会引起明显的混叠。

例 2.2 离散时间系统的频域响应:已知系统差分方程为

y(n)=x(n)+2x(n-1)-0.5y(n-1)-0.25y(n-2),绘制系统的幅值响应和相位响应曲线。 解:对系统差分方程两边进行z 变换可得系统传输函数为

代码:方法一:

b=[1 2 1];a=[1 0.5 0.25];m=0:length(b)-1;n=0:length(a)-1;K=512;k=1:K;w=pi*k/K;

num=b*exp(-j*m'*w);den=a*exp(-j*n'*w);H=num./den;magH=20*log(abs(H));phaH=angle(H); subplot(121)

plot(w/pi,magH);xlabel('w(pi)');ylabel('H(jw)')title('Magnitude');grid subplot(122)

plot(w/pi,phaH*180/pi);xlabel('w(pi)');ylabel('H(jw)')title('phase')grid

图形:

-200

-150

-100

-50

50

w(pi)

H (j w )

Magnitude

w(pi)

H (j w )

phase

方法二:b=[1,2,1];a=[1,0.5,0.25];K=512;figure(1);freqz(b,a,K);

[H,w]=freqz(b,a,K);magH=20*log(abs(H));phaH=angle(H);figure(2); subplot(1,2,1) plot(w/pi,magH);

xlabel('w(pi)');ylabel('|H(jw)| dB');title('Magnitude');grid subplot(1,2,2)

plot(w/pi,phaH*180/pi);

xlabel('w(pi)');ylabel('

Normalized Frequency (?π rad/sample)

P h a s e (d e g r e e s

)

Normalized Frequency (?π rad/sample)

M a g n i t u d e (d B )

w(pi)

|H (j w )| d B

Magnitude

w(pi)

Phase

由图形可知,使用freqz 函数所求频域响应与方法一求的结果完全一致。

实验六 :FFT 与Chirp-z 变换

例1.1已知序列x=[4,3,2,6,7,8,9,0],求X(k)=DFT[x (n )]。 代码:N=8;n=0:N-1;xn=[4,3,2,6,7,8,9,0]';Xk=fft(xn) 结果:Xk =39.0000 -10.7782 + 6.2929i 0 - 5.0000i 4.7782 - 7.7071i 5.0000

4.7782 + 7.7071i

0 + 5.0000i

-10.7782 - 6.2929i

例1.2已知信号由15Hz幅值0.5的正弦信号和40Hz幅值2的正弦信号组成,数据采样频率为100Hz,试分别绘制N=128点DFT的幅频图和N=1024点的DFT幅频图。

由题意的,信号可写为x=0.5sin(2πf1t)+2 sin(2πf2t),其中,f1=15Hz,f2=40Hz。

代码:clf

fs=100;N=128;n=0:N-1;t=n/fs;x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t);

y=fft(x,N);mag=abs(y);f=(0:length(y)-1)'*fs/length(y);

subplot(221)

plot(f,mag);xlabel('frequence');ylabel('magnitude');title('N=128');

grid

subplot(222)

plot(f(1:N/2),mag(1:N/2));xlabel('frequence');ylabel('magnitude');title('N=128');

grid

fs=100;N=1024;n=0:N-1;t=n/fs;x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t);y=fft(x,N);mag=abs(y); f=(0:length(y)-1)'*fs/length(y);

subplot(223)

plot(f,mag);xlabel('frequence');ylabel('magnitude');title('N=1024');

grid

subplot(224)

plot(f(1:N/2),mag(1:N/2));xlabel('frequence');ylabel('magnitude');title('N=1024');

grid

图形:

50100

050

100

150

frequence m a g n i t u d e

N=128

204060

frequence m a g n i t u d e

N=128

0200400600800frequence

m a g n i t u d e

N=1024

frequence

m a g n i t u d e

N=1024

结果分析:用FFT 算法实现离散傅里叶变换,求结果与所选点数N 有关。当N 大于序列点数时,先补零到N 点,最够结果幅值的大小也随N 点增加而增大。当N 小于序列点数时,则要对函数截断。从图中可知,不论N 为何值,其幅频特性,总是对抽样频率的一半呈偶对称,此频率计为奈圭斯特频率。

例1.3对信号()sin(2*40)sin(2*15)x t t t ππ=+进行DFT ,对其结果进行IDFT ,并将IDFT 的结果和原信号进行比较。 代码:clf

fs=100;N=128;n=0:N-1;t=n/fs;x=sin(2*pi*15*t)+sin(2*pi*40*t); subplot(221)

plot(t,x);xlabel('t(s)');ylabel('x');title('Original signal');grid y=fft(x,N);mag=abs(y);f=(0:length(y)-1)'*fs/length(y); subplot(222)

plot(f(1:N/2),mag(1:N/2));xlabel('Frequency(Hz)');ylabel('Magnitude'); title('FFT to Original signal');grid

xifft=ifft(y);magx=real(xifft);ti=[0:length(xifft)-1]/fs; subplot(223)

plot(ti,magx);xlabel('t(s)');ylabel('x');title('signal from IFFT');grid; yif=fft(xifft,N);mag=abs(yif);f=(0:length(y)-1)'*fs/length(y); subplot(224)

plot(f(1:N/2),mag(1:N/2));xlabel('Frequency(Hz)');ylabel('Magnitude'); title('FFT to signal from IFFT');grid

数字图像处理实验报告

数字图像处理实验报告 实验一数字图像基本操作及灰度调整 一、实验目的 1)掌握读、写图像的基本方法。 2)掌握MATLAB语言中图像数据与信息的读取方法。 3)理解图像灰度变换处理在图像增强的作用。 4)掌握绘制灰度直方图的方法,理解灰度直方图的灰度变换及均衡化的方 法。 二、实验内容与要求 1.熟悉MATLAB语言中对图像数据读取,显示等基本函数 特别需要熟悉下列命令:熟悉imread()函数、imwrite()函数、size()函数、Subplot()函数、Figure()函数。 1)将MATLAB目录下work文件夹中的forest.tif图像文件读出.用到imread, imfinfo 等文件,观察一下图像数据,了解一下数字图像在MATLAB中的处理就是处理一个矩阵。将这个图像显示出来(用imshow)。尝试修改map颜色矩阵的值,再将图像显示出来,观察图像颜色的变化。 2)将MATLAB目录下work文件夹中的b747.jpg图像文件读出,用rgb2gray() 将其 转化为灰度图像,记为变量B。 2.图像灰度变换处理在图像增强的作用 读入不同情况的图像,请自己编程和调用Matlab函数用常用灰度变换函数对输入图像进行灰度变换,比较相应的处理效果。 3.绘制图像灰度直方图的方法,对图像进行均衡化处理 请自己编程和调用Matlab函数完成如下实验。 1)显示B的图像及灰度直方图,可以发现其灰度值集中在一段区域,用 imadjust函 数将它的灰度值调整到[0,1]之间,并观察调整后的图像与原图像的差别,调整后的灰

度直方图与原灰度直方图的区别。 2) 对B 进行直方图均衡化处理,试比较与源图的异同。 3) 对B 进行如图所示的分段线形变换处理,试比较与直方图均衡化处理的异同。 图1.1 分段线性变换函数 三、实验原理与算法分析 1. 灰度变换 灰度变换是图像增强的一种重要手段,它常用于改变图象的灰度范围及分布,是图象数字化及图象显示的重要工具。 1) 图像反转 灰度级范围为[0, L-1]的图像反转可由下式获得 r L s --=1 2) 对数运算:有时原图的动态范围太大,超出某些显示设备的允许动态范围, 如直接使用原图,则一部分细节可能丢失。解决的方法是对原图进行灰度压缩,如对数变换: s = c log(1 + r ),c 为常数,r ≥ 0 3) 幂次变换: 0,0,≥≥=γγc cr s 4) 对比拉伸:在实际应用中,为了突出图像中感兴趣的研究对象,常常要求 局部扩展拉伸某一范围的灰度值,或对不同范围的灰度值进行不同的拉伸处理,即分段线性拉伸: 其对应的数学表达式为:

图像处理实验报告

重庆交通大学 学生实验报告 实验课程名称数字图像处理 开课实验室数学实验室 学院理学院年级信息与计算科学专业 2 班学生姓名李伟凯学号631122020203 开课时间2014 至2015 学年第 1 学期

实验(一)图像处理基础 ?实验目的 学习Matlab软件的图像处理工具箱,掌握常用的一些图像处理命令;通过编程实现几种简单的图像增强算法,加强对图像增强的理解。 ?实验内容 题目A.打开Matlab软件帮助,学习了解Matlab中图像处理工具箱的基本功能;题目B.掌握以下常见图像处理函数的使用: imread( ) imageinfo( ) imwrite( ) imopen( ) imclose( ) imshow( ) impixel( ) imresize( ) imadjust( ) imnoise( ) imrotate( ) im2bw( ) rgb2gray( ) 题目C.编程实现对图像的线性灰度拉伸y = ax + b,函数形式为:imstrech(I, a, b); 题目D.编程实现对图像进行直方图均衡化处理,并将实验结果与Matab中imhist 命令结果比较。 三、实验结果 1).基本图像处理函数的使用: I=imread('rice.png'); se = strel('disk',1); I_opened = imopen(I,se); %对边缘进行平滑 subplot(1,2,1), imshow(I), title('原始图像') subplot(1,2,2), imshow(I_opened), title('平滑图像') 原始图像平滑图像

东南大学数字图像处理实验报告

数字图像处理 实验报告 学号:04211734 姓名:付永钦 日期:2014/6/7 1.图像直方图统计 ①原理:灰度直方图是将数字图像的所有像素,按照灰度值的大小,统计其所出现的频度。 通常,灰度直方图的横坐标表示灰度值,纵坐标为半个像素个数,也可以采用某一灰度值的像素数占全图像素数的百分比作为纵坐标。 ②算法: clear all PS=imread('girl-grey1.jpg'); %读入JPG彩色图像文件figure(1);subplot(1,2,1);imshow(PS);title('原图像灰度图'); [m,n]=size(PS); %测量图像尺寸参数 GP=zeros(1,256); %预创建存放灰度出现概率的向量 for k=0:255 GP(k+1)=length(find(PS==k))/(m*n); %计算每级灰度出现的概率end figure(1);subplot(1,2,2);bar(0:255,GP,'g') %绘制直方图 axis([0 255 min(GP) max(GP)]); title('原图像直方图') xlabel('灰度值') ylabel('出现概率') ③处理结果:

原图像灰度图 100 200 0.005 0.010.0150.020.025 0.030.035 0.04原图像直方图 灰度值 出现概率 ④结果分析:由图可以看出,原图像的灰度直方图比较集中。 2. 图像的线性变换 ①原理:直方图均衡方法的基本原理是:对在图像中像素个数多的灰度值(即对画面起主 要作用的灰度值)进行展宽,而对像素个数少的灰度值(即对画面不起主要作用的灰度值)进行归并。从而达到清晰图像的目的。 ②算法: clear all %一,图像的预处理,读入彩色图像将其灰度化 PS=imread('girl-grey1.jpg'); figure(1);subplot(2,2,1);imshow(PS);title('原图像灰度图'); %二,绘制直方图 [m,n]=size(PS); %测量图像尺寸参数 GP=zeros(1,256); %预创建存放灰度出现概率的向量 for k=0:255

数字图像处理实验报告 (2)

目录 实验一:数字图像的基本处理操作 (2) 1.1:实验目的 (2) 1.2:实验任务和要求 (2) 1.3:实验步骤和结果 (2) 1.4:结果分析 (6) 实验二:图像的灰度变换和直方图变换 (7) 2.1:实验目的 (7) 2.2:实验任务和要求 (7) 2.3:实验步骤和结果 (7) 2.4:结果分析 (11) 实验三:图像的平滑处理 (11) 3.1:实验目的 (11) 3.2:实验任务和要求 (11) 3.3:实验步骤和结果 (12) 3.4:结果分析 (15) 实验四:图像的锐化处理 (16) 4.1:实验目的 (16) 4.2:实验任务和要求 (16) 4.3:实验步骤和结果 (16) 4.4:结果分析 (18)

实验一:数字图像的基本处理操作 1.1:实验目的 1、熟悉并掌握MATLAB、PHOTOSHOP等工具的使用; 2、实现图像的读取、显示、代数运算和简单变换。 3、熟悉及掌握图像的傅里叶变换原理及性质,实现图像的傅里叶变换。 1.2:实验任务和要求 1.读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分 成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。 2.对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分 别显示,注上文字标题。 3.对一幅图像进行平移,显示原始图像与处理后图像,分别对其进行傅里叶变换, 显示变换后结果,分析原图的傅里叶谱与平移后傅里叶频谱的对应关系。 4.对一幅图像进行旋转,显示原始图像与处理后图像,分别对其进行傅里 叶变换,显示变换后结果,分析原图的傅里叶谱与旋转后傅里叶频谱的 对应关系。 1.3:实验步骤和结果 1.对实验任务1的实现代码如下: a=imread('d:\tp.jpg'); i=rgb2gray(a); I=im2bw(a,0.5); subplot(1,3,1);imshow(a);title('原图像'); subplot(1,3,2);imshow(i);title('灰度图像'); subplot(1,3,3);imshow(I);title('二值图像'); subplot(1,3,1);imshow(a);title('原图像'); 结果如图1.1 所示:

图像处理实验报告

实验报告 实验课程名称:数字图像处理 班级:学号:姓名: 注:1、每个实验中各项成绩按照10分制评定,每个实验成绩为两项总和20分。 2、平均成绩取三个实验平均成绩。 2016年 4 月18日

实验一 图像的二维离散傅立叶变换 一、实验目的 掌握图像的二维离散傅立叶变换以及性质 二、实验要求 1) 建立输入图像,在64?64的黑色图像矩阵的中心建立16?16的白色矩形图像点阵, 形成图像文件。对输入图像进行二维傅立叶变换,将原始图像及变换图像(三维、中心化)都显示于屏幕上。 2) 调整输入图像中白色矩形的位置,再进行变换,将原始图像及变换图像(三维、中 心化)都显示于屏幕上,比较变换结果。 3) 调整输入图像中白色矩形的尺寸(40?40,4?4),再进行变换,将原始图像及变 换图像(三维、中心化)都显示于屏幕上,比较变换结果。 三、实验仪器设备及软件 HP D538、MATLAB 四、实验原理 傅里叶变换作为分析数字图像的有利工具,因其可分离性、平移性、周期性和共轭对称性可以定量地方分析数字化系统,并且变换后的图像使得时间域和频域间的联系能够方便直观地解决许多问题。实验通过MATLAB 实验该项技能。 设),(y x f 是在空间域上等间隔采样得到的M ×N 的二维离散信号,x 和y 是离散实变量,u 和v 为离散频率变量,则二维离散傅里叶变换对一般地定义为 ∑∑ -=-=+-= 101 )],( 2ex p[),(1 ),(M x N y N yu M xu j y x f MN v u F π,1,0=u …,M-1;y=0,1,…N-1 ∑∑-=-=+=101 )],( 2ex p[),(),(M x N y N uy M ux j v u F y x f π ,1,0=x …,M-1;y=0,1,…N-1 在图像处理中,有事为了讨论上的方便,取M=N ,这样二维离散傅里叶变换对就定义为 ,]) (2ex p[),(1 ),(101 ∑∑ -=-=+- = N x N y N yu xu j y x f N v u F π 1,0,=v u …,N-1 ,]) (2ex p[ ),(1 ),(101 ∑∑-=-=+= N u N v N vy ux j v u F N y x f π 1,0,=y x ,…,N-1 其中,]/)(2exp[N yv xu j +-π是正变换核,]/)(2exp[N vy ux j +π是反变换核。将二维离散傅里叶变换的频谱的平方定义为),(y x f 的功率谱,记为 ),(),(|),(|),(222v u I v u R v u F v u P +== 功率谱反映了二维离散信号的能量在空间频率域上的分布情况。 五、实验步骤、程序及结果: 1、实验步骤: (1)、编写程序建立输入图像; (2)、对上述图像进行二维傅立叶变换,观察其频谱 (3)、改变输入图像中白框的位置,在进行二维傅里叶变换,观察频谱;

matlab图像处理综合实验实验报告

《数字图像处理》 实验报告 学院: 专业: 班级: 姓名: 学号: 实验一 实验名称:图像增强 实验目的:1.熟悉图像在Matlab下的读入,输出及显示; 2.熟悉直方图均衡化; 3.熟悉图像的线性指数等; 4.熟悉图像的算术运算及几何变换. 实验仪器:计算机,Matlab软件 实验原理: 图像增强是为了使受到噪声等污染图像在视觉感知或某种准则下尽量的恢复到原始图像的水平之外,还需要有目的性地加强图像中的某些信息而抑制另一些信息,以便更好地利用图像。图像增强分频域处理和空间域处理,这里主要用空间域的方法进行增强。空间域的增强主要有:灰度变换和图像的空间滤波。 图像的直方图实际上就是图像的各像素点强度概率密度分布图,是一幅图像所有像素集合的最基本统计规律,均衡化是指在每个灰度级上都有相同的像素点过程。 实验内容如下: I=imread('E:\cs.jpg');%读取图像 subplot(2,2,1),imshow(I),title('源图像') J=rgb2gray(I)%灰度处理 subplot(2,2,2),imshow(J) %输出图像 title('灰度图像') %在原始图像中加标题 subplot(2,2,3),imhist(J) %输出原图直方图

title('原始图像直方图') I=imread('E:\cs.jpg');%读取图像 subplot(1,2,1),imshow(I); subplot(2,2,1),imshow(I),title('源图像') J=rgb2gray(I)%灰度处理 subplot(2,2,2),imshow(J),title('灰度变换后图像') J1=log(1+double(J)); subplot(2,2,3),imshow(J1,[]),title('对数变换后') 指数运算: I=imread('E:\dog.jpg'); f=double(I); g=(2^2*(f-1))-1 f=uint8(f); g=uint8(g); subplot(1,2,1);subimage(f),title('变换一') 00100200 源图像灰度变换后图像对数变换后

数字图像处理实验报告

数字图像处理试验报告 实验二:数字图像的空间滤波和频域滤波 姓名: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大小的拉普拉斯算子对

图像处理 实验报告

摘要: 图像处理,用计算机对图像进行分析,以达到所需结果的技术。又称影像处理。基本内容图像处理一般指数字图像处理。数字图像是指用数字摄像机、扫描仪等设备经过采样和数字化得到的一个大的二维数组,该数组的元素称为像素,其值为一整数,称为灰度值。图像处理技术的主要内容包括图像压缩,增强和复原,匹配、描述和识别3个部分。图像处理一般指数字图像处理。 数字图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。目前,图像处理演示系统应用领域广泛医学、军事、科研、商业等领域。因为数字图像处理技术易于实现非线性处理,处理程序和处理参数可变,故是一项通用性强,精度高,处理方法灵活,信息保存、传送可靠的图像处理技术。本图像处理演示系统以数字图像处理理论为基础,对某些常用功能进行界面化设计,便于初级用户的操作。 设计要求 可视化界面,采用多幅不同形式图像验证系统的正确性; 合理选择不同形式图像,反应各功能模块的效果及验证系统的正确性 对图像进行灰度级映射,对比分析变换前后的直方图变化; 1.课题目的与要求 目的: 基本功能:彩色图像转灰度图像 图像的几何空间变换:平移,旋转,剪切,缩放 图像的算术处理:加、减、乘 图像的灰度拉伸方法(包含参数设置); 直方图的统计和绘制;直方图均衡化和规定化; 要求: 1、熟悉图像点运算、代数运算、几何运算的基本定

义和常见方法; 2、掌握在MTLAB中对图像进行点运算、代数运算、几何运算的方法 3、掌握在MATLAB中进行插值的方法 4、运用MATLAB语言进行图像的插值缩放和插值旋转等 5、学会运用图像的灰度拉伸方法 6、学会运用图像的直方图设计和绘制;以及均衡化和规定化 7、进一步熟悉了解MATLAB语言的应用,将数字图像处理更好的应用于实际2.课题设计内容描述 1>彩色图像转化灰度图像: 大部分图像都是RGB格式。RGB是指红,绿,蓝三色。通常是每一色都是256个级。相当于过去摄影里提到了8级灰阶。 真彩色图像通常是就是指RGB。通常是三个8位,合起来是24位。不过每一个颜色并不一定是8位。比如有些显卡可以显示16位,或者是32位。所以就有16位真彩和32位真彩。 在一些特殊环境下需要将真彩色转换成灰度图像。 1单独处理每一个颜色分量。 2.处理图像的“灰度“,有时候又称为“高度”。边缘加强,平滑,去噪,加 锐度等。 3.当用黑白打印机打印照片时,通常也需要将彩色转成灰白,处理后再打印 4.摄影里,通过黑白照片体现“型体”与“线条”,“光线”。 2>图像的几何空间变化: 图像平移是将图像进行上下左右的等比例变化,不改变图像的特征,只改变位置。 图像比例缩放是指将给定的图像在x轴方向按比例缩放fx倍,在y轴按比例缩放fy倍,从而获得一幅新的图像。如果fx=fy,即在x轴方向和y轴方向缩放的比率相同,称这样的比例缩放为图像的全比例缩放。如果fx≠fy,图像的比例缩放会改变原始图象的像素间的相对位置,产生几何畸变。 旋转。一般图像的旋转是以图像的中心为原点,旋转一定的角度,也就是将图像上的所有像素都旋转一个相同的角度。旋转后图像的的大小一般会改变,即可以把转出显示区域的图像截去,或者扩大图像范围来显示所有的图像。图像的旋转变换也可以用矩阵变换来表示。

数字图像处理实验报告

数字图像处理实验 报告 学生姓名:学号: 专业年级: 09级电子信息工程二班

实验一常用MATLAB图像处理命令 一、实验内容 1、读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。 实验结果如右图: 代码如下: Subplot (1,3,1) i=imread('E:\数字图像处理\2.jpg') imshow(i) title('RGB') Subplot (1,3,2) j=rgb2gray(i) imshow(j) title('灰度') Subplot (1,3,3) k=im2bw(j,0.5) imshow(k) title('二值') 2、对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题。 实验结果如右图: 代码如下: Subplot (3,2,1) i=imread('E:\数字图像处理 \16.jpg') x=imresize(i,[250,320]) imshow(x) title('原图x') Subplot (3,2,2) j=imread(''E:\数字图像处理 \17.jpg') y=imresize(j,[250,320]) imshow(y) title('原图y') Subplot (3,2,3) z=imadd(x,y) imshow(z)

title('相加结果');Subplot (3,2,4);z=imsubtract(x,y);imshow(z);title('相减结果') Subplot (3,2,5);z=immultiply(x,y);imshow(z);title('相乘结果') Subplot (3,2,6);z=imdivide(x,y);imshow(z);title('相除结果') 3、对一幅图像进行灰度变化,实现图像变亮、变暗和负片效果,在同一个窗口内分成四个子窗口来分别显示,注上文字标题。 实验结果如右图: 代码如下: Subplot (2,2,1) i=imread('E:\数字图像处理 \23.jpg') imshow(i) title('原图') Subplot (2,2,2) J = imadjust(i,[],[],3); imshow(J) title('变暗') Subplot (2,2,3) J = imadjust(i,[],[],0.4) imshow(J) title('变亮') Subplot (2,2,4) J=255-i Imshow(J) title('变负') 二、实验总结 分析图像的代数运算结果,分别陈述图像的加、减、乘、除运算可能的应用领域。 解答:图像减运算与图像加运算的原理和用法类似,同样要求两幅图像X、Y的大小类型相同,但是图像减运算imsubtract()有可能导致结果中出现负数,此时系统将负数统一置为零,即为黑色。 乘运算实际上是对两幅原始图像X、Y对应的像素点进行点乘(X.*Y),将结果输出到矩阵Z中,若乘以一个常数,将改变图像的亮度:若常数值大于1,则乘运算后的图像将会变亮;叵常数值小于是,则图像将会会暗。可用来改变图像的灰度级,实现灰度级变换,也可以用来遮住图像的某些部分,其典型应用是用于获得掩膜图像。 除运算操作与乘运算操作互为逆运算,就是对两幅图像的对应像素点进行点(X./Y), imdivide()同样可以通过除以一个常数来改变原始图像的亮度,可用来改变图像的灰度级,其典型运用是比值图像处理。 加法运算的一个重要应用是对同一场景的多幅图像求平均值 减法运算常用于检测变化及运动的物体,图像相减运算又称为图像差分运算,差分运算还可以用于消除图像背景,用于混合图像的分离。

图形图像处理实验报告

第四次实验报告 实验课程:图像图像处理实验人:尹丽(200921020047) 实验时间:2012年4月19日实验地点:5-602 指导老师:夏倩老师成绩: 一、实验内容: ⑴图像的锐化:使用Sobel,Laplacian 算子分别对图像进行运算,观察并体会运算结果。 ⑵综合练习:对需要进行处理的图像分析,正确运用所学的知识,采用正确的步骤,对图像进行各类处理,以得到令人满意的图像效果。 二、实验目的: 学会用Matlab中的下列函数对输入图像按实验内容进行运算;感受各种不同的图像处理方法对最终图像效果的影响。(imfilter;fspecial;) 三、实验步骤:

1、仔细阅读Matlab 帮助文件中有关以上函数的使用说明,能充分理解其使用方法并能运用它们完成实验内容。 2、将Fig3.41(c).jpg 图像文件读入Matlab ,使用filter2函数分别采用不同的算子对其作锐化运算,显示运算前后的图像。 3、算子的输入可采用直接输入法。其中Sobel ,Laplacian ,也可用fspecial 函数产生。 4、各类算子如下: ???? ??????---121000121 ??????????-111181111 5、将Fig3.46(a).jpg 图像文件读入Matlab ,按照以下步骤对其进行处理: (1)用带对角线的Laplacian 对其处理,以增强边缘。 (2)用imadd 函数叠加原始图像。可以看出噪声增强了,应想法降低。 (3)获取Sobel 模板并用filter2对其进行5×5邻域平均,以减少噪声。 5(1)实验代码如图: 对角线Laplacian Sobel 垂直梯度

武汉科技大学 数字图像处理实验报告讲解

二○一四~二○一五学年第一学期电子信息工程系 实验报告书 班级:电子信息工程(DB)1102班姓名 学号: 课程名称:数字图像处理 二○一四年十一月一日

实验一图像直方图处理及灰度变换(2学时) 实验目的: 1. 掌握读、写、显示图像的基本方法。 2. 掌握图像直方图的概念、计算方法以及直方图归一化、均衡化方法。 3. 掌握图像灰度变换的基本方法,理解灰度变换对图像外观的改善效果。 实验内容: 1. 读入一幅图像,判断其是否为灰度图像,如果不是灰度图像,将其转化为灰度图像。 2. 完成灰度图像的直方图计算、直方图归一化、直方图均衡化等操作。 3. 完成灰度图像的灰度变换操作,如线性变换、伽马变换、阈值变换(二值化)等,分别使用不同参数观察灰度变换效果(对灰度直方图的影响)。 实验步骤: 1. 将图片转换为灰度图片,进行直方图均衡,并统计图像的直方图: I1=imread('pic.jpg'); %读取图像 I2=rgb2gray(I1); %将彩色图变成灰度图 subplot(3,2,1); imshow(I1); title('原图'); subplot(3,2,3); imshow(I2); title('灰度图'); subplot(3,2,4); imhist(I2); %统计直方图 title('统计直方图'); subplot(3,2,5); J=histeq(I2); %直方图均衡 imshow(J); title('直方图均衡'); subplot(3,2,6); imhist(J); title('统计直方图');

原 图 灰度图 01000 2000 3000统计直方图 100200直方图均衡 0统计直方图 100200 仿真分析: 将灰度图直方图均衡后,从图形上反映出细节更加丰富,图像动态范围增大,深色的地方颜色更深,浅色的地方颜色更前,对比更鲜明。从直方图上反应,暗部到亮部像素分布更加均匀。 2. 将图片进行阈值变换和灰度调整,并统计图像的直方图: I1=imread('rice.png'); I2=im2bw(I1,0.5); %选取阈值为0.5 I3=imadjust(I1,[0.3 0.9],[]); %设置灰度为0.3-0.9 subplot(3,2,1); imshow(I1); title('原图'); subplot(3,2,3); imshow(I2); title('阈值变换'); subplot(3,2,5); imshow(I3); title('灰度调整'); subplot(3,2,2); imhist(I1); title('统计直方图'); subplot(3,2,4);

东北大学图像处理实验报告

计算机图像处理实验报告 哈哈哈哈哈哈实验台31 1.应用MATLAB语言编写显示一幅灰度图像、二值图像、索引图像及 彩色图像的程序,并进行相互之间的转换 1)彩色图像转换为灰度图像、索引图像、二值图像 A=imread('F:\colorful.jpg'); subplot(221);imshow(A);title('彩色图像'); I1=rgb2gray(A); subplot(222);imshow(I1);title('灰度图像'); [X1,map]=rgb2ind(A,256); subplot(223);imshow(X1);title('索引图像'); BW=im2bw(A); subplot(224);imshow(BW);title('二值图像'); 彩色图像灰度图像 索引图像二值图像

2)灰度图像转换为索引图像、二值图像 clear A=imread('F:\colorful.jpg'); B=rgb2gray(A); subplot(131);imshow(B);title('灰度图像'); [X2,map]=gray2ind(B,128); subplot(132);imshow(X2);title('索引图像'); BW2=im2bw(B); subplot(133);imshow(BW2);title('二值图像'); 灰度图像索引图像二值图像 3)索引图像转为灰度图像、二值图像、彩色图像 clear A=imread('F:\colorful.jpg'); [X,map]=rgb2ind(A,256); subplot(221);imshow(X);title('索引图像'); I3=ind2gray(X,map); subplot(222);imshow(I3);title('灰度图像'); BW3=im2bw(X,map,0.5); subplot(223);imshow(BW3);title('二值图像'); RGB=ind2rgb(X,map); subplot(24);imshow(RGB);title('还原彩色图像'); 索引图像灰度图像 二值图像还原彩色图像

数字图像处理实验报告

- 院系:计算机科学学院专业:计算机科学与技术年级: 2012级 课程名称:数字图像处理组号: 姓名(学号): 指导教师:高志荣 2015年 5月 25日

实验原理(算法流程)2.运行结果 1-1-1图查看2012213500.png图片的基本信息和显示图片过程 1-1-2图将2012213500.png图片保存为2012213500.bmp图片3.实验分析

实验原理(算法流程) 先用imread()函数将2012213500.png存入I数组中,可见1-1-1图右上角的Workspace中的I。然后用imfinfo()函数和ans函数读取该图像的大小、类型等信息,具体在1-1-1图的Command Window中可见。至于图片格式的转换,就是用rgb2gray()函数将保存在I数组中的数据转换成灰度格式保存在原来的数组I中。最后将变换所得到的数据保存于2012213500.bmp文件中。 实验(2): 1.代码实现 I=imread(2012213500.bmp');%读取灰度图片 subplot(221),imshow(I,[]),title('256*256,256') I=I(1:2:end,1:2:end);%图片采样 subplot(222),imshow(I,[]),title('128*128,256') I=I(1:2:end,1:2:end);%图片采样 subplot(223),imshow(I,[]),title('64*64,256') I=I(1:2:end,1:2:end);%图片采样 subplot(224),imshow(I,[]),title('32*32,256') 2.运行结果 1-2 图图片空间分辨率对图片的影响 3.实验分析 由1-2图可以看出,在保持灰度级数一定的条件下,随着图片空间分辨率的减半,即256*256,128*128,64*64,32*32的图像,图中的各个区域边缘处的棋盘模式越来越明显,并且全图的像素颗粒越来越粗。证明了空间分辨率是影响图片清晰度的因素之一。 实验(3): 1.代码实现 I=imread('2012213500.bmp');%读取灰度图片 subplot(221),imshow(I,256),title('256*256,256')%灰度级为256 subplot(222),imshow(I,50),title('256*256,50') %灰度级为50 subplot(223),imshow(I,10),title('256*256,10') %灰度级为10 subplot(224),imshow(I,5),title('256*256,5') %灰度级为5

图像处理实验报告

武汉大学新闻与传播学院实验教学中心实验报告 专业:网络传播专业2010年10 月25 实验名称图像处理指导教师洪杰文 姓名华滢年级08 学号2008300710123 成绩 一、预习部分 1、实验目的 2、实验基本原理 3、主要仪器设备(含必要的元器件、工具) 1、实验目的:(1)熟悉和掌握数字图像的基本概念和技术指标,掌握色彩模式、图像分辨率、图像深度、图像文件格式与图像的显示效果、文件容量的关系。 (2)了解和掌握数字图像压缩的概念,观察不同的压缩比对图像的影响。 (3)了解和掌握图像中色彩的确定及选取方法,掌握前景色和背景色的概念及调整方法,掌握色彩填充的基本概念及应用。 (4)了解和掌握图像处理软件Photoshop的基本功能和基本使用方法,熟练掌握图层与选择区的基本使用方法。 (5)通过创造性的构图和对布局及色彩等的巧妙处理,一幅好的图画可以将一个主题以含蓄而又深刻的方式予以提示,并往往具有比单纯的语言文字更强的表现力。在掌握图像处理基本概念和Photoshop基本使用方法的基础上,对已有的数字图像做一些基本的创意设计和编辑处理。 2、实验基本原理:基于photoshop软件的图像处理。 3、主要仪器设备(含必要的元器件、工具):Adobe Photoshop 二、实验操作部分 1、实验操作过程 2、实验数据、观察到的实验现象 1、实验操作过程: 1.图像的基本变换 (1)自选一幅不小于400×400pixel的彩色数字图像。在Photoshop中打开该图像,记录其技术参数:文件格式、文件容量,图像尺寸(pixel和cm)、分辨率、色彩模式等。

文件格式:JPEG 图像;文件容量:59.7kb;图像尺寸(pixel和cm):600×600pixel;分辨率:72像素/英寸;色彩模式:RGB模式。 (2)对该图像重采样,要求采样后的图像分辨率为150dpi,图像尺寸为300×300pixel。色彩模式分别变换成灰度、Indexed和RGB模式,按BMP格式分别保存成不同名称的图像文件;重新打开并观察变换后的显示效果,并记录各个文件的容量。 灰度:容量大小为:88.9kb Indexed;容量大小为:88.9kb

数字图像处理实验报告

数 字 图 像 处 理 II 实 验 报 告 课程名称:数字图像处理 II 专业:印刷工程班级: 学生姓名:学号: 指导教师:

一.直方图的定义、性质?打开图像,调整直方图,然后看有什么效果? 答:直方图定义:颜色直方图是在许多图像检索系统中被广泛采用的颜色特征。它所描述的是不同色彩在整幅图像中所占的比例,而并不关心每种色彩所处的空间位置,即无法描述图像中的对象或物体。颜色直方图特别适于描述那些难以进行自动分割的图像。 直方图的性质:直方图中的数值都是统计而来,描述了该图像中关于颜色的数量特征,可以反映图像颜色的统计分布和基本色调;直方图只包含了该图像中某一颜色值出现的频数,而丢失了某象素所在的空间位置信息;任一幅图像都能唯一的给出一幅与它对应的直方图,但不同的图像可能有相同的颜色分布,从而就具有相同的直方图,因此直方图与图像是一对多的关系;如将图像划分为若干个子区域,所有子区域的直方图之和等于全图直方图;一般情况下,由于图像上的背景和前景物体颜色分布明显不同,从而在直方图上会出现双峰特性,但背景和前景颜色较为接近的图像不具有这个特性。 在PS上进行调整: 原图: 调整直方图:

二.说明什么是平滑与锐化?说明分别的原理及其应用中各个参数的意义? 答:平滑:压制、弱化或消除图像中的细节、突变、边缘和噪声, 平滑原理:图像平滑是对图像作低通滤波,可在空间域或频率域实现。空问域图像平滑方法主要用低通卷积滤波、中值滤波等;频率域图像平滑常用的低通滤波器有低通梯形滤波器、低通高斯滤波器、低通指数滤波器、巴特沃思低通滤波器等。 锐化:图像锐化(image sharpening)就是补偿图像的轮廓,增强图像的边缘及灰度跳变的部分,使图像变得清晰,亦分空域处理和频域处理两类。 锐化原理:图像锐化技术,使图像的边缘变的清晰。图像锐化处理的目的是为了使图像的边缘、轮廓线以及图像的细节变的清晰,经过平滑的图像变得模糊的根本原因是因为图像受到了平均或积分运算,因此可以对其进行逆运算(如微分运算)就可以使图像变的清晰。从频率域来考虑,图像模糊的实质是因为其高频分量被衰减,因此可以用高通滤波器来使图像清晰。 在水下图像的增强处理中除了去噪,对比度扩展外,有时候还需要加强图像中景物的边缘和轮廓。而边缘和轮廓常常位于图像中灰度突变的地方,因而可以直观地想到用灰度的差分对边缘和轮廓进行提取。 模糊的参数和作用 1 动感模糊 作用:模拟了摄像中拍摄运动物体时间接曝光的功能,从而使图像产生一种动态效果。 参数:①角度:控制图像的模糊方向。 ②距离:控制图像的模糊强度。 2 高斯模糊 作用:根据高斯钟形曲线调节像素色值,控制模糊效果,甚至能造成难以辨认的

数字图像处理实验报告

数字图像处理试验报告实验二:数字图像的空间滤波和频域滤波姓名: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的拉普拉斯算子

数字图像处理实验报告 (2)

数字图像处理试验报告 实验二:数字图像得空间滤波与频域滤波 姓名: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

数字图像处理实验报告实验三

数字图像处理实验报告实验三

中南大学数字图像处理实验报告 实验三数学形态学及其应用

实验三 数学形态学及其应用 一.实验目的 1.了解二值形态学的基本运算 2.掌握基本形态学运算的实现 3.了解形态操作的应用 二.实验基本原理 腐蚀和膨胀是数学形态学最基本的变换,数学形态学的应用几乎覆盖了图像处理的所有领域,给出利用数学形态学对二值图像处理的一些运算。 膨胀就是把连接成分的边界扩大一层的处理。而收缩则是把连接成分的边界点去掉从而缩小一层的处理。 二值形态学 I(x,y), T(i,j)为 0/1图像Θ 腐蚀:[]),(&),(),)((),(0,j i T j y i x I AND y x T I y x E m j i ++=Θ== 膨胀:[]),(&),(),)((),(0 ,j i T j y i x I OR y x T I y x D m j i ++=⊕== 灰度形态学 T(i,j)可取10以外的值 腐蚀: []),(),(min ),)((),(1 ,0j i T j y i x I y x T I y x E m j i -++=Θ=-≤≤ 膨胀: []),(),(max ),)((),(1 ,0j i T j y i x I y x T I y x D m j i +++=⊕=-≤≤ 1.腐蚀Erosion: {}x B x B X x ?=Θ: 1B 删两边 2B 删右上 图5-1 剥去一层(皮) 2.膨胀Dilation: {}X B x B X x ↑⊕:= 1B 补两边 2B 补左下 图5-2 添上一层(漆) 3.开运算

相关文档
最新文档