湖南大学医学影像学实验之matlab图像处理实验报告

湖南大学医学影像学实验之matlab图像处理实验报告
湖南大学医学影像学实验之matlab图像处理实验报告

实验一、空域图像处理

1、灰度线性变换:

I=imread('trees.tif') ;

figure(1) ; imshow(I) ; title('原图') ;

J=double(I) ; %把I变成双精度并赋值给J

J=3*J+74 ; %对J进行线性变换

J=uint8(J) ;

figure(2) ; imshow(J) ; title('线性变换') ;

图像:

思考题:设定不同的斜率值和截距,显示效果会怎样?

答:斜率增加,像素点的灰度值会根据本身的灰度值按比例增加,所以深色部分会变少,浅色部分会变多,整张图片上白色区域会变多;截距增加,所有像素点的灰度值都会增加,所以整张图片会变淡。

添加噪声:

I=imread('trees.tif') ;

M=imnoise(I,'salt & pepper',0.02) ; %添加椒盐噪声

%因为每次添加椒盐噪声都是这两句代码,所以就不重复打出来了,直接看效果图下同~( ̄▽ ̄~)~~~

图像:

椒盐噪声+线性变换:

椒盐噪声是随机产生的噪声,包括高灰度和低灰度的噪声。

线性变换基本上没有多少去噪的功能,更多的应该是用于改变对比度。

(中值)直方图均衡化:

I=imread('rice.png') ;

subplot(2,2,1) ; imshow(I) ; title('原图') ;

subplot(2,2,3) ; imhist(I) ;

J=double(I) ; %把I变成双精度并赋值给J

max=J(1,1) ; min=J(1,1) %把J(1,1)赋值给max和min

[N1,N2]=size(I) ; %得到矩阵I的行和列

for i=1:N1

for j=1:N2

if J(i,j)>max

max=J(i,j) ; %如果元素值大于max,则把元素值赋给max

end

if J(i,j)

min=J(i,j) ; %如果元素值小于min,则把元素值赋给min

end

end

end

n=round((max+min))/2 ; %取元素最大值和最小值的中间值,即中间灰度值

a=(255-max)/(max-n) ;

b=min/(n-min) ;

%根据原图中max和min,求得运算倍率a和b,以确保在接下来的运算中,原图像的max和min可以准确被定为到255和0

for i=1:N1

for j=1:N2

if J(i,j)>=n

J(i,j)=J(i,j)+a*(J(i,j)-n) ;

end

%当元素灰度值大于或等于中间灰度值时,将该元素的灰度值变大

if J(i,j)

J(i,j)=J(i,j)-b*(n-J(i,j)) ;

end

%当元素灰度值小于中间灰度值时,将该元素的灰度值变小

end

end

K=uint8(real(J)) ;

subplot(2,2,2) ; imshow(K) ;title('直方图均衡化') ;

subplot(2,2,4) ; imhist(K) ;

思考题:直方图均衡化是什么意思?它的主要用途是什么?

答:直方图均衡化是将一副像素灰度级范围较窄的图像的像素灰度级的范围扩大并分布均匀。即把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布。这样就扩展像原取值的动态范围,提高了对比度和灰度色调的变化,使图像更加清晰。

图像:

1、(中值)直方图均衡化:

2、椒盐噪声+(中值)直方图均衡化:

在添加椒盐噪声后再进行直方图均衡化的过程中,要将添加噪声的过程放在取得运算倍率a和b之后。因为椒盐噪声本身是随机灰度值,如果在计算出之前就添加噪声的话,噪声的灰度值也会被计算在内,会影响原图的运算倍率a和b,这样就会影响直方图均衡化的效果;如果存在灰度值为255和0的噪声,那么直方图均衡化的效果就完全被消除了。所以一定要在之后!!!

均值滤波:

I=imread('rice.png') ;

subplot(1,2,1) ; imshow(I) ; title('原图') ;

[N1, N2]=size(I) ; %得到矩阵I的行和列

I1=double(I) ; %把I变成双精度并赋值给I1

I2=I1 ; %把I1的值都赋值到I2中,即I2是I1的复制

for i=2:N1-1

for j=2:N2-1

A=I1(i-1:i+1,j-1:j+1) ;

%对待处理的像素确定一个模板,该模板包括了其周围的临近像素

s=(A(1,1)+A(1,2)+A(1,3)+A(2,1)+A(2,2)+A(2,3)+A(3,1)+A(3,2)+A(3,3))/9 ;

%得到模板中的全体像素的均值

I2(i,j)=s ; %将所得的均值去替代I2中的同样的位置

end

end

d=uint8(I2) ;

subplot(1,2,2) ; imshow(d) ; title('均值滤波') ;

思考题:

均值滤波的模板大小对处理效果有什么影响?

答:模板越大,可以被参考的数据就越多,所得到的平均值就越真实,去噪效果更好。

图像:

1、均值滤波:

2、添加噪声+均值滤波:

由图可以看出,在没有噪声存在时,均值滤波的效果也能很容易被我们所观察到,不过缺点是,图像本身的细节被模糊了。然后,均值滤波对椒盐噪声的确有去噪的效果,但效果不是和好,很多地方还残存着很多较弱的噪声点。

中值滤波:

I=imread('trees.tif') ;

subplot(1,2,1) ; imshow(I) ; title('原图') ;

[N1, N2]=size(I) ; %得到矩阵I的行和列

I1=double(I) ; %把I变成双精度并赋值给I1

I2=I1 ; %把I1的值都赋值到I2中,即I2是I1的复制矩阵

for i=2:N1-1

for j=2:N2-1

A1=I1(i-1,j-1:j+1) ;

A2=I1(i,j-1:j+1) ;

A3=I1(i+1,j-1:j+1) ;

A=[A1 A2 A3] ;

%对待处理的像素确定一个模板,该模板包括了其周围的临近像素

for p=1:8

for q=1:8

if A(q)

a=A(q) ;

A(q)=A(q+1) ;

A(q+1)=a ;

end

%排序,最终得到从大到小的排序

end

end

I2(i,j)=A(5) ; %用中间值去替代I2中的同样的位置

end

end

d=uint8(I2) ;

subplot(1,2,2) ; imshow(d) ; title('中值滤波') ;

均值滤波,中值滤波的模板大小对处理效果有什么影响?

答:模板越大,可以被参考的数据越多,可以选择在更大范围中的中间值,使单独存在的噪声点更容易被周围的中间值给替代,去噪效果更好。

图像:

1、中值滤波:

细节图:

(与左图相比,可见右图像素点较均匀,不粗糙)

2、添加噪声+中值滤波:

由图可见,在没有噪声存在时,中值滤波的效果不明显,我们很难直接用肉眼观察,只能通过放大了的细节图才能看到效果。而在添加椒盐噪声后,我们会发现去噪效果很明显,椒盐噪声基本上被完全去除了。与均值滤波相比较,中值滤波更适合去除椒盐噪声,效果显著。

拉普拉斯锐化:

I=imread('cameraman.tif') ;

subplot(1,2,1) ; imshow(I) ; title('原图') ;

[N1, N2]=size(I) ; %得到矩阵I的行和列

I1=double(I) ; %把I变成双精度并赋值给I1

I2=I1 ; %把I1的值都赋值到I2中,即I2是I1的复制矩阵for i=2:N1-1

for j=2:N2-1

A=I1(i-1:i+1,j-1:j+1) ;

%对待处理的像素确定一个模板,该模板包括了其周围的临近像素

B=[-1 -1 -1;-1 8 -1;-1 -1 -1] ; %拉普拉斯算子

C=A.*B ;

a=abs(C(1,1)+C(1,2)+C(1,3)+C(2,1)+C(2,2)+C(2,3)+C(3,1)+C(3,2)+C(3,3)) ; %拉普拉斯算子首先将自身与周围的8个像素相减,表示自身与周围像素的差异 I2(i,j)=A(5)-a ;

%将差异加上自身作为新像素的灰度,用它去替代I2中的同样的位置

if a<200

I2(i,j)=255 ;

end

%将差异过小的置为白色,方便对比

end

end

J=uint8(I2) ;

subplot(1,2,2) ; imshow(J) ; title('拉普拉斯') ;

图像:

1、拉普拉斯锐化:

2、添加噪声+拉普拉斯锐化:

由图可以看出,拉普拉斯通过与周围像素点灰度值的差异来强调图像的边缘的细节。但是在去噪方面,拉普拉斯锐化应该说是帮了倒忙。因为噪声本身就是随机产生的像素点,与周围像素点无任何连续性的关系,差异一般都是较大的。所以拉普拉斯锐化在突出边缘和细节的过程中,也顺便增强了噪声。

实验二、傅立叶变换

高斯滤波:

I=imread('cameraman.tif') ;

fftI=fft2(I) ; %二维离散傅里叶变换

sfftI=fftshift(fftI) ; %直流分量移到频谱中心

RR=real(sfftI) ; %取傅里叶变换的实部

II=imag(sfftI) ; %取傅里叶变换的虚部

A=sqrt(RR.^2+II.^2) ; %计算频谱幅值

A=(A-min(min(A)))/(max(max(A))-min(min(A)))*255 ; %归一化

subplot(1,2,1) ; imshow(A) ; title('傅里叶变换') ;

J=fspecial('gaussian') ; %调用高斯函数

K=imfilter(A,J) ; %用高斯函数对A进行滤波

subplot(1,2,2) ; imshow(K) ; title('高斯滤波') ;

图像:

细节图:(与左图相比,可见右图中心些许像素点已被滤去)

思考题:

1、傅里叶变换有哪些重要的性质?

答:线性,对偶性,平移性,尺度变换,微分关系,时域、空域卷积定理。2、图像的二维频谱在显示和处理时应注意什么?

答:1、进行傅里叶变换的图像应是灰度图形,rgb彩色图像无法进行变换;

2、使用fftshift函数将频谱的零频分量移至频谱的中心;

3、要进行归一化。

I1=imread('rice.png') ;

subplot(1,2,1) ; imshow(I1) ; title('原图') ;

m=double(I1) ; %把I变成双精度并赋值给m

f=fft2(m) ; %二维离散傅里叶变换

f=fftshift(f) ; %直流分量移到频谱中心

[N1,N2]=size(f) ; %得到矩阵f的行和列

n1=round(N1/2) ; %取行的中点并取整

n2=round(N2/2) ; %取列的中点并取整

d0=50 ; %设定临界值

for i=1:N1

for j=1:N2

d=sqrt((i-n1)^2+(j-n2)^2) ; %计算频谱幅值

if d<=d0

h=0.5 ; %低于或等于临界值,本应滤去,即设定倍率h=0

但为了提高对比度,设定h=0.5

else h=1 ; %高于临界值,保留,即设定倍率h=1

end

y(i,j)=h*f(i,j); %将原灰度值乘以倍率得到新的灰度值

end

end

y=ifftshift(y) ; %反中心平移

A=ifft2(y) ; %二维傅里叶反变换

B=uint8(real(A)) ;

subplot(1,2,2) ; imshow(B) ; title('高通滤波') ;

图像:

由图可见,高通滤波滤去了低频信号,使图像变暗了很多,明显的突出了图像的边缘和细节,这是图像锐化的一种方式。

I1=imread('rice.png') ;

subplot(1,2,1) ; imshow(I1) ; title('原图') ;

m=double(I1) ; %把I变成双精度并赋值给m

f=fft2(m) ; %二维离散傅里叶变换

f=fftshift(f) ; %直流分量移到频谱中心

[N1,N2]=size(f) ; %得到矩阵f的行和列

n1=round(N1/2) ; %取行的中点并取整

n2=round(N2/2) ; %取列的中点并取整

d0=50 ; %设定临界值

for i=1:N1

for j=1:N2

d=sqrt((i-n1)^2+(j-n2)^2) ; %计算频谱幅值

if d<=d0

h=1 ; %高于临界值,保留,即设定倍率h=1

else h=0 ; %低于或等于临界值,滤去,即设定倍率h=0

end

y(i,j)=h*f(i,j); %将原灰度值乘以倍率得到新的灰度值

end

end

y=ifftshift(y) ; %反中心平移

A=ifft2(y) ; %二维傅里叶反变换

B=uint8(real(A)) ;

subplot(1,2,2) ; imshow(B) ; title('高通滤波') ;

图像:

有图可见,低通滤波滤去了高频信号,使得图像的边缘都被弱化了,图像整体变模糊了。这是图像平滑的一种方式。

实验三、图像的几何变换

平移:

I=imread('trees.tif') ;

figure(1); imshow(I) ; title('原图') ;

J=double(I) ; %把I变成双精度并赋值给J

[N1,N2]=size(J) ; %得到矩阵J的行和列

K=zeros(N1,N2) ; %设定一个N1XN2的零矩阵K

A=[1 0 60;0 1 30;0 0 1] ; %设定一个平移矩阵A

for i=1:N1

for j=1:N2 %预计平移后超出原矩阵范围的数据将不予传输

B=[i;j;1] ; %将初始坐标设置为矩阵B

C=A*B ; %经过矩阵运算得到矩阵C

x=C(1) ; y=C(2) ; %把C中的元素值、即平移后的坐标赋给K

K(x,y)=J(i,j) ; %将J矩阵中该点的值赋给K矩阵中平移后的对应点

end

end

figure(2) ; imshow(K) ; title('平移') ;

图像:

由图可见,平移后的图像,超出原矩阵范围的数据会丢失,所以在编程过程中,超过范围的数据就不予传输。如果没有丢弃那些数据,就会导致平移后的图像会比原图像大。

思考题:改变水平和垂直的偏移量,观察显示?

答:水平方向和垂直方向的平移距离会改变,图像中黑色区域会改变,图像数据丢失的量也会改变。

I=imread('trees.tif') ;

subplot(1,2,1) ; imshow(I) ; title('原图') ;

J=double(I) ; %把I变成双精度并赋值给J

[N1,N2]=size(J) ; %得到矩阵J的行和列

K=zeros(N1,N2) ; %设定一个N1XN2的零矩阵K

A=[1 0 0;0 -1 0;0 0 1] ; %设定一个水平镜像矩阵A

for i=1:N1

for j=1:N2

B=[i;j;1] ; %将初始坐标设置为矩阵B

C=A*B ; %经过矩阵运算得到矩阵C

x=C(1) ;

y=C(2)+N2+1 ; %把C中的元素值、即水平镜像后的坐标赋给K

K(x,y)=J(i,j); %将J矩阵中该点的值赋给K矩阵中水平镜像后的对应点 end

end

K=uint8(K) ;

subplot(1,2,2) ; imshow(K) ; title('水平镜像') ;

图像:

在水平镜像的过程中,起始y坐标经过水平矩阵的运算后得到的最终y坐标会变成负值。而坐标值在检索过程中只能为正整数,所以需要对y坐标进行单独的平移运算。

I=imread('trees.tif') ;

subplot(1,2,1) ; imshow(I) ; title('原图') ;

J=double(I) ; %把I变成双精度并赋值给J

[N1,N2]=size(J) ; %得到矩阵J的行和列

K=zeros(N1,N2) ; %设定一个N1XN2的零矩阵K

A=[-1 0 0;0 1 0;0 0 1] ; %设定一个垂直镜像矩阵A

for i=1:N1

for j=1:N2

B=[i;j;1] ; %将初始坐标设置为矩阵B

C=A*B ; %经过矩阵运算得到矩阵C

x=C(1)+N1+1 ;

y=C(2) ; %把C中的元素值、即垂直镜像后的坐标赋给K

K(x,y)=J(i,j) ; %将J矩阵中该点的值赋给K矩阵中垂直镜像后的对应点 end

end

K=uint8(K) ;

subplot(1,2,2) ; imshow(K) ; title('垂直镜像') ;

图像:

垂直镜像和水平镜像的过程很类似,只不过是起始x坐标经过水平矩阵的运算后得到的最终x坐标会变成负值。所以我们也需要对x坐标进行单独的平移运算。

I=imread('trees.tif') ;

figure(1) ; imshow(I) ; title('原图') ;

J=double(I) ; %把I变成双精度并赋值给J

[N1,N2]=size(J) ; %得到矩阵J的行和列

K=zeros(N1/2,N2/2) ; %设定一个(N1/2)X(N2/2)的零矩阵K

for i=2:2:N1

for j=2:2:N2

x=i/2 ; y=j/2 ; %将J矩阵的坐标值减半并赋给K的坐标值

K(x,y)=J(i,j) ; %将J矩阵中该点的值赋给K矩阵中缩小后的对应点

end

end

K=uint8(K) ;

figure(2) ; imshow(K) ; title('缩小') ;

图像:

思考题:改变缩小比例,看看效果如何?

答:缩小,本质是根据一定的比例去丢失一部分数据,剩下一部分数据。剩下的数据维持缩小之前的大概图像;如果缩小的越小,那么需要丢失的数据也越多,剩下的数据也就会越少,这样一来图像也会越模糊。

而且因为坐标的原因、我编写的程序让图像缩小和放大的倍数只能是整倍数。

I=imread('trees.tif') ;

figure(1) ; imshow(I) ; title('原图') ;

J=double(I) ; %把I变成双精度并赋值给J

[N1,N2]=size(J) ; %得到矩阵J的行和列

K=zeros(2*N1,2*N2) ; %设定一个(2*N1)X(2*N2)的零矩阵K

A=[2 0 0;0 2 0;0 0 1] ; %设定一个放大矩阵A

for i=1:N1

for j=1:N2

B=[i;j;1] ; %将初始坐标设置为矩阵B

C=A*B ; %经过矩阵运算得到矩阵C

x=C(1) ; y=C(2) ; %把C中的元素值、即放大后的坐标赋给K

K(x,y)=J(i,j) ; %将J矩阵中该点的值赋给K矩阵中放大后的对应点

end

end

for i=1:2*N1

for j=1:2*N2

if K(i,j)==0

K(i,j)=30*rand(1) ;

end

%对于未填充的数值都是0,为了填充数值,用随机数填充

end

end

K=uint8(K) ;

figure(2) ; imshow(K) ; title('放大') ;

图像:

思考题:改变缩放比例,看看效果如何?

答:放大,本质是除了本身的数据外,还根据一定的规律去填充数据;放大的越大,填充值所占的比例会越大,本身的数据所占比例就越小,图像也就会越模糊。

I=imread('trees.tif') ;

figure(1); imshow(I) ; title('原图') ;

J=double(I) ; %把I变成双精度并赋值给J

[N1,N2]=size(J) ; %得到矩阵J的行和列

K=zeros(N1,N2) ; %设定一个(N1/2)X(N2/2)的零矩阵K

b=pi/4 ; %设定一个旋转角度

A=[cos(b) sin(b) 0;-sin(b) cos(b) 0;0 0 1] ; %设定一个旋转矩阵A

for i=1:N1

for j=1:N2

B=[i;j;1] ; %将初始坐标设置为矩阵B

C=A*B ; %经过矩阵运算得到矩阵C

x=round(C(1)) ;

y=round(C(2))+200 ; %把C中的元素值、即旋转后的坐标赋给K

K(x,y)=J(i,j) ; %将J矩阵中该点的值赋给K矩阵中旋转后的对应点

end

end

K=uint8(K) ;

figure(2) ; imshow(K) ; title('旋转') ;

图像:

坐标经过旋转矩阵运算后得到的值包含非整数,但是由于是坐标的原因,可以被检索的只能是整倍数。所以我的处理方式是对坐标进行平方运算,这样就可以使坐标被检索了;但是,缺点是原图会被放大,所以还不是完美的旋转。

思考题:改变旋转角度,显示效果会怎么样?

答:旋转,是图像以原图像中心点为原点旋转。改变旋转角度后,图像的旋转角度会改变,旋转后的整张图片的大小也会有变化,但是图片中的原图大小不变。

实验四、图像分割

二值化:

I=imread('trees.tif') ;

subplot(1,2,1); imshow(I) ; title('原图') ;

J=double(I) ; %把I变成双精度并赋值给J

max=J(1,1) ; min=J(1,1) ; %把J(1,1)赋值给max和min

[N1,N2]=size(I) ; %得到矩阵I的行和列

for i=1:N1

for j=1:N2

if J(i,j)>max

max=J(i,j) ; %如果元素值大于max,则把元素值赋给max

end

if J(i,j)

min=J(i,j) ; %如果元素值小于min,则把元素值赋给min

end

end

end

n=round((max+min))/2 ; %取元素最大值和最小值的中间值,即中间灰度值为阈值

K=zeros(N1,N2) ; %设定一个N1XN2的零矩阵K

for i=1:N1

for j=1:N2

if J(i,j)<=n

K(i,j)=0 ;

else

K(i,j)=1 ;

end

%利用n这个阈值,将灰度值小于或的等于它的都设定为黑,大于它的设定为白 end

end

subplot(1,2,2) ; imshow(K) ; title('二值化') ;

图像:

大学数字图像处理模拟试卷及答案 (1)

(注:以下两套模拟题仅供题型参考,请重点关注选择填空以及判断题、名词解释,蓝色下划线内容肯定不考) 《数字图像处理》模拟试卷(A 卷) 一、单项选择题(从下列各题四个备选答案中选出一个正确答案,并将其代号填在题前的括号内。答案选错或未作选择者,该题不得分。每小题1分,共10分) ( d )1.一幅灰度级均匀分布的图象,其灰度范围在[0,255],则该图象的信息量为: a. 0 b.255 c.6 d.8 ( b )2.图象与灰度直方图间的对应关系是: a.一一对应 b.多对一 c.一对多 d.都不对 ( d )3.下列算法中属于局部处理的是: a.灰度线性变换 b.二值化 c.傅立叶变换 d.中值滤波 ( b )4.下列算法中属于点处理的是: a.梯度锐化 b.二值化 c.傅立叶变换 d.中值滤波 ( ) 5.一曲线的方向链码为12345,则曲线的长度为 a.5 b.4 c.5.83 d.6.24 ( c )6. 下列算法中属于图象平滑处理的是: a.梯度锐化 b.直方图均衡 c. 中值滤波 https://www.360docs.net/doc/b013620231.html,placian增强 ( )7.下列图象边缘检测算子中抗噪性能最好的是: a.梯度算子 b.Prewitt算子 c.Roberts算子 d. Laplacian算子 ( c)8.采用模板[-1 1]主要检测____方向的边缘。 a.水平 b.45° c.垂直 d.135° ( d )9.二值图象中分支点的连接数为: a.0 b.1 c.2 d.3 ( a )10.对一幅100′100像元的图象,若每像元用8bit表示其灰度值,经霍夫曼编码后压缩图象的数据量为40000bit,则图象的压缩比为: a.2:1 b.3:1 c.4:1 d.1:2 二、填空题(每空1分,共15分) 1.图像锐化除了在空间域进行外,也可在频率域进行。 2.图像处理中常用的两种邻域是4-邻域和8-邻域。 3.直方图修正法包括直方图均衡和直方图规定化两种方法。 4.常用的灰度差值法有最近邻元法、双线性内插法和三次内插法。 5.多年来建立了许多纹理分析法,这些方法大体可分为和结构分析法两大类。 6.低通滤波法是使高频成分受到抑制而让低频成分顺利通过,从而实现图像平滑。 7.检测边缘的Sobel算子对应的模板形式为和。 8.一般来说,采样间距越大,图象数据量少,质量差;反之亦然。 三、名词解释(每小题3分,共15分) 1.数字图像是将一幅画面在空间上分割成离散的点(或像元),各点(或像元)的灰度值经量化用离散的整数来表示,形成计算机能处理的形式。 2.图像锐化是增强图象的边缘或轮廓。 3.从图象灰度为i的像元出发,沿某一方向θ、距离为d的像元灰度为j同时出现的概率

数字图像处理实验报告

数字图像处理实验报告 实验一数字图像基本操作及灰度调整 一、实验目的 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) 对比拉伸:在实际应用中,为了突出图像中感兴趣的研究对象,常常要求 局部扩展拉伸某一范围的灰度值,或对不同范围的灰度值进行不同的拉伸处理,即分段线性拉伸: 其对应的数学表达式为:

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

数字图像处理 实验报告 学号: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

MATLAB实验报告

MATLAB程序设计语言 实 验 报 告 专业及班级:电子信息工程 姓名:王伟 学号:1107050322 日期 2013年6月20日

实验一 MATLAB 的基本使用 【一】 实验目的 1.了解MATALB 程序设计语言的基本特点,熟悉MATLAB 软件的运行环境; 2.掌握变量、函数等有关概念,掌握M 文件的创建、保存、打开的方法,初步具备将一般数学问题转化为对应计算机模型处理的能力; 3.掌握二维图形绘制的方法,并能用这些方法实现计算结果的可视化。 【二】 MATLAB 的基础知识 通过本课程的学习,应基本掌握以下的基础知识: 一. MATLAB 简介 二. MATLAB 的启动和退出 三. MATLAB 使用界面简介 四. 帮助信息的获取 五. MATLAB 的数值计算功能 六. 程序流程控制 七. M 文件 八. 函数文件 九. MATLAB 的可视化 【三】上机练习 1. 仔细预习第二部分内容,关于MATLAB 的基础知识。 2. 熟悉MATLAB 环境,将第二部分所有的例子在计算机上练习一遍 3. 已知矩阵???? ??????=??????????=123456789,987654321B A 。求A*B ,A .* B ,比较二者结果是否相同。并利用MATLAB 的内部函数求矩阵A 的大小、元素和、长度以 及最大值。 程序代码: >> A=[1 2 3;4 5 6;7 8 9]; >> B=[9 8 7;6 5 4;3 2 1]; >> A*B ans =

30 24 18 84 69 54 138 114 90 >> A.*B ans = 9 16 21 24 25 24 21 16 9 两者结果不同 >> [m,n]=size(A) m = 3 n = 3 >> b=sum(A) b = 12 15 18 >> a=length(A) a = 3 >>max(A) ans =

数字图像处理试卷及答案2015年

中南大学考试试卷 2015-- 2016 学年1学期 时间100分钟 2015 年11月4日 数字图像处理 课程32学时2学分考试形式:也卷 专业年级: 电子信息2013级 总分100分,占总评成绩 70% 注:此页不作答题纸,请将答案写在答题纸上 一、填空题(本题20分,每小题1分) 1. 图像中像素具有两个属性: _空间位置 ______ 和—灰度 ______ 。 2. _红(R )_、_绿(G )_、 _____________ 蓝(B )_这三种颜色被称为图像的三基色。 3. 对于一个6位的灰度图像,其灰度值范围是 __0-63 _________ 。 4. RGB 模型中黑色表示为 _____ (0,0,0) _____ 。 5. 直方图修正法包括 —直方图均衡 ___________ 和 _直方图规定化_ 两种方法。 6. 常用的灰度内插法有最近邻内插法、 _双线性内插法_和 三次内插法。 7. 依据图像的保真度,图像压缩可分为一无损压缩_和一有损压缩。 8. 图像压缩是建立在图像存在 _编码冗余,空间和时间冗余(像素间冗余) , 视觉心理冗余三种冗余基础上。 9. 根据分割时所依据的图像特性的不同,图像分割方法大致可以分为阈值分割法、边缘检 ________ 测法和一区域分割法一三大类。 10. 傅立叶频谱中,与图像的平均灰度值对应的系数是 F (0 , 0) _________ 。 二、选择题(本题20分,每小题2分) 1. 图像与灰度直方图间的对应关系是: (b ) a. ------- 对应 b. 多对一 c. 一对多 d. 都不对 2. 下列算法中属于图像平滑处理的是: (c ) a.梯度锐化 b. 直方图均衡 c. 中值滤波 https://www.360docs.net/doc/b013620231.html,placian 增强 3. 下列图像边缘检测算子中抗噪性能最好的是: (b ) a.梯度算子 b.Prewitt 算子 c.Roberts 算子 d. Laplacian 算子 6. 维纳滤波器通常用于:(c ) a.去噪 b. 减小图像动态范围 7. 采用幕次变换进行灰度变换时,当幕次 4. 5. 采用模板]-1 1 ]主要检测__ a.水平 b.45 0 c. 一幅256*256的图像,若灰度级为 a. 256Kb b.512Kb c.1Mb 方向的边缘。(c ) 垂直 d.135 16,则存储它所需的总比特数是 d. 2M c.复原图像 d.平滑图像

MATLAB实验报告实验二

实验二 MATLAB矩阵及其运算 学号:3121003104 姓名:刘艳琳专业:电子信息工程1班日期:2014.9.20 一实验目的 1、掌握Matlab数据对象的特点以及数据的运算规则。 2、掌握Matlab中建立矩阵的方法以及矩阵处理的方法。 3、掌握Matlab分析的方法。 二实验环境 PC_Windows 7旗舰版、MATLAB 7.10 三实验内容 4、1. (1)新建一个.m文件,验证书本第15页例2-1; (2)用命令方式查看和保存代码中的所有变量;

(3)用命令方式删除所有变量; (4)用命令方式载入变量z。 2. 将x=[4/3 1.2345e-6]在以下格式符下输出:短格式、短格式e方式、长格式、长格式e方式、银行格式、十六进制格式、+格式。 短格式 短格式e 长格式

长格式e方式 银行格式 十六进制格式 3.计算下列表达式的值 (1)w=sqrt(2)*(1+0.34245*10^(-6)) (2)x=(2*pi*a+(b+c)/(pi+a*b*c)-exp(2))/(tan(b+c)+a) a=3.5;b=5;c=-9.8; (3)y=2*pi*a^2*((1-pi/4)*b-(0.8333-pi/4)*a) a=3.32;b=-7.9; (4)z=0.5*exp(2*t)*log(t+sqrt(1+t*t)) t=[2,1-3i;5,-0.65];

4. 已知A=[1 2 3 4 5 ;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20],对其进行如下操作:(1)输出A在[ 7, 10]范围内的全部元素; (2)取出A的第2,4行和第1,3,5列; (3)对矩阵A变换成向量B,B=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20]; (4)删除A的第2,3,4行元素; (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的拉普拉斯算子 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大小的拉普拉斯算子对

MATLAB实验报告(1-4)

信号与系统MATLAB第一次实验报告 一、实验目的 1.熟悉MATLAB软件并会简单的使用运算和简单二维图的绘制。 2.学会运用MATLAB表示常用连续时间信号的方法 3.观察并熟悉一些信号的波形和特性。 4.学会运用MATLAB进行连续信号时移、反折和尺度变换。 5.学会运用MATLAB进行连续时间微分、积分运算。 6.学会运用MATLAB进行连续信号相加、相乘运算。 7.学会运用MATLAB进行连续信号的奇偶分解。 二、实验任务 将实验书中的例题和解析看懂,并在MATLAB软件中练习例题,最终将作业完成。 三、实验内容 1.MATLAB软件基本运算入门。 1). MATLAB软件的数值计算: 算数运算 向量运算:1.向量元素要用”[ ]”括起来,元素之间可用空格、逗号分隔生成行向量,用分号分隔生成列向量。2.x=x0:step:xn.其中x0位初始值,step表示步长或者增量,xn 为结束值。 矩阵运算:1.矩阵”[ ]”括起来;矩阵每一行的各个元素必须用”,”或者空格分开; 矩阵的不同行之间必须用分号”;”或者ENTER分开。2.矩阵的加法或者减法运算是将矩阵的对应元素分别进行加法或者减法的运算。3.常用的点运算包括”.*”、”./”、”.\”、”.^”等等。 举例:计算一个函数并绘制出在对应区间上对应的值。

2).MATLAB软件的符号运算:定义符号变量的语句格式为”syms 变量名” 2.MATLAB软件简单二维图形绘制 1).函数y=f(x)关于变量x的曲线绘制用语:>>plot(x,y) 2).输出多个图像表顺序:例如m和n表示在一个窗口中显示m行n列个图像,p表 示第p个区域,表达为subplot(mnp)或者subplot(m,n,p) 3).表示输出表格横轴纵轴表达范围:axis([xmax,xmin,ymax,ymin]) 4).标上横轴纵轴的字母:xlabel(‘x’),ylabel(‘y’) 5).命名图像就在subplot写在同一行或者在下一个subplot前:title(‘……’) 6).输出:grid on 举例1: 举例2:

matlab实验二

本科实验报告 课程名称:Matlab电子信息应用实验项目:矩阵和数组的操作 实验地点:电机馆跨越机房 专业班级:学号: 学生姓名: 指导教师: 2014年3月26 日

一、实验目的 1.掌握矩阵和数组的一般操作,包括创建、保存、修改和调用等。 2.学习矩阵和数组的加减运算与乘法。 3.掌握对数组中元素的寻访与赋值,会对数组进行一般的操作。 二、预备知识 1.常用的产生特殊矩阵的函数 ?eye(m,n) 单位阵 ?rand(m,n) 随机矩阵 ?randn(m,n) 正态分布的随机矩阵 ?zeros(m,n) 零矩阵 ?ones(m,n) 全部元素都为1的矩阵 ?compan(A) 矩阵A的伴随矩阵 ?bankel(m,n) n维Hankel矩阵 ?invhilb(n) n维逆Hilbert矩阵 ?magic(n) n维Magic矩阵 ?toeplitz(m,n) Toeplitz矩阵 ?wilkinson(n) n维Wilkinson特征值测试矩阵 ?handamard(n) n维Handamard矩阵 ?hilb(n) n维Hilbert矩阵 ?kron(A,B) Kronecker张量积 ?pascal(n) n维Pascal矩阵 ?vander(A) 由矩阵A产生Vandermonde矩阵 2.通过矩阵的结构变换,获得新矩阵 表2 矩阵结构变化产生新矩阵 L=tril(A) L主对角线及以下元素取矩阵A 的元素,其余为0 L=tril(A,k) L及第k条对角线及以下元素取矩阵A的元素,其余为 U=triu(A) U主对角线及以上的元素取矩阵A的元素,其余为0 U=triu(A,k) U第k条对角线及以上的元素取矩阵A的元素,其余为

数字图像处理试卷A答案

电子科技大学网络教育考卷(A 卷)答案 一、名词解释(每题2分,共10分) 1. 一幅图像可定义为一个二维函数f(x,y),这里x 和y 是空间坐标,而在任何一对空间坐标(x,y)上的幅值f 称为该点图像的强度或灰度。当x,y 和幅值f 为有限的、离散的数值时,称该图像为数字图像。 2. 对数变换是一种灰度变换方法,其一般表达式是s=clog(1+r)。其中c 是一个常数,并假设r≥0。此种变换使一窄带低灰度输入图像值映射为一宽带输出值。相对的是输入灰度的高调整值。可以利用这种变换来扩展被压缩的高值图像中的暗像素。 3. CMY 是一种颜色模型,常用于打印机。CMY 表示青、品红、黄,等量的颜料原色(青、品 红和黄色)可以产生黑色。实际上,为打印组合这些颜色产生的黑色是不纯的。因此,为 了产生真正的黑色(在打印中起主要作用的颜色)加入了第四种颜色——黑色,提出了 CMYK 彩色模型。 4. 空间分辨率是图像中可辨别的最小细节.涉及物理意义时可以用每单位距离可分辨的最 小线对数目,当不涉及物理意义时也可用图像的像素数目表示。 5. 令H 是一种算子,其输入和输出都是图像。如果对于任何两幅图像f 和g 及任何两个标 量a 和b 有如下关系,称H 为线性算子: 。 二、判断正误 × × × × √ 三、单项选择题 1、D 2、D 3、C 4、C 5、A 6、B 7、D 8、B 9、D 10、D 四、简答题 (每题5分,共10分) 1. 什么是直接逆滤波?这种方法有何缺点?如何改进? 直接逆滤波方法是用退化函数除退化图像的傅里叶变换(G(u,v))来计算原始图像的傅里叶变换估计:? (,)(,)/(,)F u v G u v H u v =。但考虑到噪声的影响,我们即使知道退化函数,也不能准确地复原未退化的图像。 (,)(,)(,)?(,)(,)F u v H u v N u v F u v H u v += 因为N(u,v)是一个随机函数,而它的傅里叶变换未知。还有更糟的情况。如果退化是零或非常小的值,N(u,v)/H(u,v)之比很容易决定^ F (u,v)的估计值。—种解决退化是零或者很小值问题的途径是限制滤波的频率使其接近原点值。 2. 伪彩色图像处理(也称假彩色)是根据特定的准则对灰度值赋以彩色的处理。伪彩色的主要应用是为了人眼观察和解释一幅图像或序列图像中的灰度目标。人类可以辨别上千种颜色和强度,而相形之下只能辨别几十种灰度。 3、彩色模型(也称彩色空间或彩色系统)的用途是在某些标准下用通常可接受的方式简化彩色规范。本质上,彩色模型是坐标系统和子空间的规范。位于系统中的每种颜色都由单个点

数字图像处理实验报告

数字图像处理实验 报告 学生姓名:学号: 专业年级: 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()同样可以通过除以一个常数来改变原始图像的亮度,可用来改变图像的灰度级,其典型运用是比值图像处理。 加法运算的一个重要应用是对同一场景的多幅图像求平均值 减法运算常用于检测变化及运动的物体,图像相减运算又称为图像差分运算,差分运算还可以用于消除图像背景,用于混合图像的分离。

实验二 MATLAB程序设计 含实验报告

实验二 MATLAB 程序设计 一、 实验目的 1.掌握利用if 语句实现选择结构的方法。 2.掌握利用switch 语句实现多分支选择结构的方法。 3.掌握利用for 语句实现循环结构的方法。 4.掌握利用while 语句实现循环结构的方法。 5.掌握MATLAB 函数的编写及调试方法。 二、 实验的设备及条件 计算机一台(带有MATLAB7.0以上的软件环境)。 M 文件的编写: 启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器(Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正 三、 实验内容 1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因 c b a 、、的不同取值而定) ,这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。并输入几组典型值加以检验。 (提示:提示输入使用input 函数) 2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。 要求:(1)用switch 语句实现。 (2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 (提示:注意单元矩阵的用法) 3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如: 2?1 3?10?5?16?8?4?2?1 6?3?10?5?16?8?4?2?1 运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。 请为关键的Matlab 语句填写上相关注释,说明其含义或功能。 4. 的值,调用该函数后,

数字图像处理考试

符号 a1 a2 a3 a4 a5 a6 概率 0、1 0、4 0、06 0、1 0、04 0、3 解:霍夫曼编码: 原始信源 信源简化 符号 概率 1 2 3 4 a2 0、4 0、4 0、4 0、4 0、6 a 6 0、3 0、3 0、3 0、3 0、4 a 1 0、1 0、1 0、2 0、3 a4 0、1 0、1 0、1 a 3 0、06 0、1 a5 0、04 霍夫曼化简后得信源编码: 从最小得信源开始一直到原始得信源 编码得平均长度: 压缩率: 冗余度: 1、 简述灰度分辨率、空间分辨率与图像质量得关系。: 空间分辨率就是瞧原图像转化为数字图像得像素点数,越多图像质量越高;灰度分辨率,即每一个像素点得灰度级数,灰度级越大,图像越清晰、 (0.4)(1)(0.3)(2)(0.1)3(0.1)(4)(0.06)(5)(0.04)(5) 2.2/avg L bit =+++++=()符号

2、简述采样与量化得一般原则:空间坐标得离散化叫做空间采样, 而灰度得离散化叫做灰度量化。图像得空间分辨率主要由采样所决定,而图像得幅度分辨率主要由量化所决定。 3、图像锐化与图像平滑有何区别与联系?:图象锐化就是用于增强边缘,导致高频分量增强,会使图象清晰;图象平滑用于去噪,对图象高频分量即图象边缘会有影响。都属于图象增强,改善图象效果。 4、伪彩色增强与假彩色增强有何异同点?: 伪彩色增强就是对一幅灰度图象经过三种变换得到三幅图象,进行彩色合成得到一幅彩色图像;假彩色增强则就是对一幅彩色图像进行处理得到与原图象不同得彩色图像;主要差异在于处理对象不同。 1、对于椒盐噪声,为什么中值滤波效果比均值滤波效果好?:均值滤波器就是一种最常用得线性低通平滑滤波器,可抑制图像中得加性噪声,但同时也使图像变得模糊;中值滤波器就是一种最常用得非线性平滑滤波器,可消除图像中孤立得噪声点,又可产生较少得模糊。一般情况下中值滤波得效果要比邻域平均处理得低通滤波效果好,主要特点就是滤波后图像中得轮廓比较清晰.因此,滤除图像中得椒盐噪声采用中值滤波。 2.什么就是区域?什么就是图像分割?:图像分割就就是把图像分成若干 个特定得、具有独特性质得区域并提出感兴趣目标得技术与过程。它就是由图像处理到图像分析得关键步骤. 3.写出颜色RGB模型转换到HIS模型得变换公式;并说明HSI模型各分 量得含义及取值范围对应得颜色信息。书上 4.灰度图像:当点足够小,观察距离足够远时,人眼就不容易分开各个小点, 从而得到比较连续,平滑得灰度图像. 5.GIF格式:GIF格式就是一种公用得图像文件格式,它就是8位文件格 式,所以最多只能存储256色图像,不支持24位得真彩色图像.GIF文件中得图像数据均经过压缩,采用得压缩算法就是改进得LZW算法,所提供得压缩率通常在1:1到1:3之间,当图像中有随机噪声时效果不好 6.图像直方图:一幅图得灰度统计直方图就是一个1-D得离散函数,即Pf (fk)=nk/n,k=0、1、、、,L—1。可以设置一个有L个元素得数组,通过对不同灰度值像素个数得统计来获得图像得直方图。 7.中值滤波:它实现一种非线性得平滑滤波、1、将模板在图像中漫游, 并将模板中心与图像中某个像素位置重合.2、读取模板下各对应像素得

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

二○一四~二○一五学年第一学期电子信息工程系 实验报告书 班级:电子信息工程(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);

实验二MATLAB程序设计含实验报告

实验二M A T L A B程序设计含实验报告 集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#

实验二 MATLAB 程序设计 一、 实验目的 1.掌握利用if 语句实现选择结构的方法。 2.掌握利用switch 语句实现多分支选择结构的方法。 3.掌握利用for 语句实现循环结构的方法。 4.掌握利用while 语句实现循环结构的方法。 5.掌握MATLAB 函数的编写及调试方法。 二、 实验的设备及条件 计算机一台(带有以上的软件环境)。 M 文件的编写: 启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器 (Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正 三、 实验内容 1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因c b a 、、的不同取值而定),这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。并输入几组典型值加以检验。 (提示:提示输入使用input 函数) 2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。 要求:(1)用switch 语句实现。

(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 (提示:注意单元矩阵的用法) 3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如: 21 3105168421 63105168421 运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。 请为关键的Matlab 语句填写上相关注释,说明其含义或功能。 4. y 5. (Root Mean Square)的计算(1(2)x=rand(1,200),得到的x 为200个(0,1)之间均匀分布的随机数。 6.根据2 2222 1......3121116n ++++=π,求π的近似值。当n 分别取100、1000、10000时,结果是多少 思考题:

郑州大学数字图像处理考试题

数字图像处理习题集 1.图像的概念及分类; 2.决定图像质量的主要因素有哪些? 3.图像可用数学函数I= f (x, y, z, λ, t)表示,请解释函数中各 参量的含义。 4.说明图像技术的层次,并叙述各层次的主要研究内容; 5.简述图像处理的主要目的及主要处理技术; 6.什么是彩色三要素,解释各要素的含义; 7.简述三基色原理; 8.简述RGB彩色模型及HIS彩色模型的概念及定义; 9.叙述数字图像采样及量化的概念,什么是图像的空间分辨率及灰度 分辨率,并说明空间分辨率及灰度分辨率的大小对图像质量的影响; 10.叙述灰度、颜色、色度、亮度、饱和度、层次、对比度、清晰度等 基本概念。 11.叙述像素、邻域等基本概念。 12.叙述BMP格式图像的文件存储结构。 13.说明数字图像每行所占字节数与图像宽度的关系; 14.叙述将一副数字图像缩小一半的图像处理运算方法; 15.叙述将一副数字图像放大k倍的图像处理运算方法,如果采用k×k 子块填充的放大运算方法,其缺点是什么,采用何种算法可以改善; 16.说明双线性插值法进行图像放大的基本算法; 17.说明有哪几种图像镜像的方式,并叙述各自的算法; 18.以据,请将该图像缩小为原图的2/3。 19.以据,请采用双线性差值法将该图像放大为 20.以的图像数据,请分别给出该图像的水平、垂直、对 。 21.图式如下,

???? ???????????????????=??????????11001''y x y d c x b a y x 请分别用该公式的形式表示出图像平移、镜像、旋转等的运算公式。 22. 列举代数运算的种类及各种代数运算的主要应用。 23. 说明图像加、减运算有哪些应用; 24. 简述直方图的概念; 25. 以下为一幅3位灰度图像的图像数据,请绘制出该图像的灰度直方 26. 叙作用。 27. 请编写一段C 语言程序,用于计算数字图像的直方图; 28. 请说明有那些常用的图像点运算算法。 29. 请说明对图像进行阈值变换有何应用; 30. 常用的线性变换有哪些种类; 31. 叙述常用的图像对比度增强方法,以及他们的优缺点。 32. 以下为一幅4位灰度图像的图像数据,请分别采用基本线性增强及 强运算。 33. 以数据,请对该幅图像进行直方图均 及计算结果。 34. 叙; 35. 简述图像噪声的概念; 36. 分别按照噪声产生原因、噪声频谱、噪声与信号的关系、概率密度 函数等方式对图像噪声进行分类;

数字图像处理实验报告

- 院系:计算机科学学院专业:计算机科学与技术年级: 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

matlab实验报告

实验报告 2. The Branching statements 一、实验目的: 1.To grasp the use of the branching statements; 2.To grasp the top-down program design technique. 二、实验内容及要求: 1.实验内容: 1).编写 MATLAB 语句计算 y(t)的值 (Write the MATLAB program required to calculate y(t) from the equation) ???<+≥+-=0 530 53)(2 2t t t t t y 已知 t 从-5到 5 每隔0.5取一次值。运用循环和选择语句进行计算。 (for values of t between -5 and 5 in steps of 0.5. Use loops and branches to perform this calculation.) 2).用向量算法解决练习 1, 比较这两个方案的耗时。 (tic ,toc 的命令可以帮助你完成的时间计算,请使用'help'函数)。 Rewrite the program 1 using vectorization and compare the consuming time of these two programs. (tic, toc commands can help you to finish the time calculation, please use the …help ? function). 2.实验要求: 在报告中要体现top-down design technique, 对于 3 要写出完整的设计过程。 三、设计思路: 1.用循环和选择语句进行计算: 1).定义自变量t :t=-5:0.5:5; 2).用循环语句实现对自变量的遍历。 3).用选择语句实现对自变量的判断,选择。 4).将选择语句置入循环语句中,则实现在遍历中对数据的选择,从而实现程序的功能。 2. 用向量法实现: 1).定义自变量t :t=-5:0.5:5; 2).用 b=t>=0 语句,将t>=0得数据选择出,再通过向量运算y(b)=-3*t(b).^2 + 5; 得出结果。 3).用取反运算,选择出剩下的数据,在进行向量运算,得出结果。 四、实验程序和结果 1.实验程序 实验程序:创建m 文件:y_t.m

相关文档
最新文档