数字图像处理实验报告Word文档格式.doc

上传人:聆听****声音 文档编号:808066 上传时间:2023-04-29 格式:DOC 页数:20 大小:2.22MB
下载 相关 举报
数字图像处理实验报告Word文档格式.doc_第1页
第1页 / 共20页
数字图像处理实验报告Word文档格式.doc_第2页
第2页 / 共20页
数字图像处理实验报告Word文档格式.doc_第3页
第3页 / 共20页
数字图像处理实验报告Word文档格式.doc_第4页
第4页 / 共20页
数字图像处理实验报告Word文档格式.doc_第5页
第5页 / 共20页
数字图像处理实验报告Word文档格式.doc_第6页
第6页 / 共20页
数字图像处理实验报告Word文档格式.doc_第7页
第7页 / 共20页
数字图像处理实验报告Word文档格式.doc_第8页
第8页 / 共20页
数字图像处理实验报告Word文档格式.doc_第9页
第9页 / 共20页
数字图像处理实验报告Word文档格式.doc_第10页
第10页 / 共20页
数字图像处理实验报告Word文档格式.doc_第11页
第11页 / 共20页
数字图像处理实验报告Word文档格式.doc_第12页
第12页 / 共20页
数字图像处理实验报告Word文档格式.doc_第13页
第13页 / 共20页
数字图像处理实验报告Word文档格式.doc_第14页
第14页 / 共20页
数字图像处理实验报告Word文档格式.doc_第15页
第15页 / 共20页
数字图像处理实验报告Word文档格式.doc_第16页
第16页 / 共20页
数字图像处理实验报告Word文档格式.doc_第17页
第17页 / 共20页
数字图像处理实验报告Word文档格式.doc_第18页
第18页 / 共20页
数字图像处理实验报告Word文档格式.doc_第19页
第19页 / 共20页
数字图像处理实验报告Word文档格式.doc_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数字图像处理实验报告Word文档格式.doc

《数字图像处理实验报告Word文档格式.doc》由会员分享,可在线阅读,更多相关《数字图像处理实验报告Word文档格式.doc(20页珍藏版)》请在冰点文库上搜索。

数字图像处理实验报告Word文档格式.doc

实验任务和要求 19

4.3:

实验步骤和结果 19

4.4:

结果分析 21

实验一:

数字图像的基本处理操作

实验目的

1、熟悉并掌握MATLAB、PHOTOSHOP等工具的使用;

2、实现图像的读取、显示、代数运算和简单变换。

3、熟悉及掌握图像的傅里叶变换原理及性质,实现图像的傅里叶变换。

实验任务和要求

1.读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。

2.对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分别显示,注上文字标题。

3.对一幅图像进行平移,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与平移后傅里叶频谱的对应关系。

4.对一幅图像进行旋转,显示原始图像与处理后图像,分别对其进行傅里叶变换,显示变换后结果,分析原图的傅里叶谱与旋转后傅里叶频谱的对应关系。

实验步骤和结果

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);

灰度图像'

subplot(1,3,3);

imshow(I);

二值图像'

结果如图1.1所示:

图1.1原图及其灰度图像,二值图像

2.对实验任务2的实现代码如下:

A=imresize(a,[800800]);

b=imread('

\tp2.jpg'

B=imresize(b,[800800]);

Z1=imadd(A,B);

Z2=imsubtract(A,B);

Z3=immultiply(A,B);

Z4=imdivide(A,B);

subplot(3,2,1);

imshow(A);

原图像A'

subplot(3,2,2);

imshow(B);

原图像B'

subplot(3,2,3);

imshow(Z1);

加法图像'

subplot(3,2,4);

imshow(Z2);

减法图像'

subplot(3,2,5);

imshow(Z3);

乘法图像'

subplot(3,2,6);

除法图像'

结果如图1.2所示:

3.对实验任务3的实现代码如下:

s=imread('

\tp3.jpg'

i=rgb2gray(s);

i=double(i);

j=fft2(i);

k=fftshift(j);

%直流分量移到频谱中心

I=log(abs(k));

%对数变换

m=fftshift(j);

RR=real(m);

%取傅里叶变换的实部

II=imag(m);

%取傅里叶变换的虚部

A=sqrt(RR.^2+II.^2);

A=(A-min(min(A)))/(max(max(A)))*255;

b=circshift(s,[800450]);

b=rgb2gray(b);

b=double(b);

c=fft2(b);

e=fftshift(c);

I=log(abs(e));

f=fftshift(c);

WW=real(f);

ZZ=imag(f);

B=sqrt(WW.^2+ZZ.^2);

B=(B-min(min(B)))/(max(max(B)))*255;

subplot(2,2,1);

imshow(s);

subplot(2,2,2);

imshow(uint8(b));

平移图像'

subplot(2,2,3);

离散傅里叶变换频谱'

subplot(2,2,4);

平移图像离散傅里叶变换频谱'

结果如图1.3所示:

4.对实验任务4的实现代码如下:

b=imrotate(s,-90);

离散傅里叶频谱'

平移图像离散傅里叶频谱'

结果如图1.4所示:

结果分析

对MATLAB软件的操作开始时不太熟悉,许多语法和函数都不会使用,写出程序后,调试运行,最开始无法显示图像,检查原因,是有些标点符号没有在英文状态下输入和一些其他的细节,学会了imread(),imshow(),rgb2gray()等函数。

图像的灰度变换和直方图变换

1、熟悉及掌握图像的采样原理,实现图像的采样过程,进行图像的灰度转换。

2、理解直方图的概念及应用,实现图像直方图的显示,及通过直方图均衡对图像进行修正。

1、对一幅图像进行2倍、4倍、8倍和16倍减采样,显示结果。

2、显示一幅灰度图像a,改变图像亮度使其整体变暗得到图像b,显示两幅图像的直方图。

3、对一幅图像进行灰度变化,实现图像变亮、变暗和负片效果,在同一个窗口内分成四个子窗口来分别显示,注上文字标题。

4、对一副图像进行直方图均衡化,显示结果图像和对应直方图。

5、对一副图像进行如图所示的分段线形变换处理,试比较与直方图均衡化处理的异同。

1.对实验任务1的实现代码如下:

a=imread('

b=rgb2gray(a);

form=1:

4

figure

[width,height]=size(b);

quartimage=zeros(floor(width/(m)),floor(height/(2*m)));

k=1;

n=1;

fori=1:

(m):

width

forj=1:

(2*m):

height

quartimage(k,n)=b(i,j);

n=n+1;

end

k=k+1;

imshow(unit8(quartimage));

结果如图所示:

a=imread('

c=rgb2gray(a);

b=c-46;

subplot(3,2,1);

imshow(c);

subplot(3,2,2);

imhist(c);

原图像的直方图'

subplot(3,2,3);

imshow(b);

变暗后的图像'

subplot(3,2,4);

imhist(b);

变暗后的图像直方图'

d=imadjust(c,[0,1],[1,0]);

subplot(3,2,5);

imshow(d);

反转图像'

结果如图2.2所示:

m=imadjust(a,[,],[0.5;

1]);

%图像变亮

n=imadjust(a,[,],[0;

0.5]);

%图像变暗

g=255-a;

%负片效果

imshow(m);

图像变亮'

imshow(n);

图像变暗'

imshow(g);

负片效果'

c=rgb2gray(b);

j=histeq(c);

subplot(2,2,1),imshow(c);

subplot(2,2,2),imshow(j);

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

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

结果如图2.4所示:

5.对实验任务5的实现代码如下:

x1=0:

0.01:

0.125;

x2=0.125:

0.75;

x3=0.75:

1;

y1=2*x1;

y2=0.25+0.6*(x2-0.125);

y3=0.625+1.5*(x3-0.75);

x=[x1,x2,x3];

y=[y1,y2,y3];

plot(x,y);

这次实验主要是对图像的灰度变换和直方图均衡化,实验内容包括灰度拉伸、图像反转、图像的二值化以及直方图均衡。

通过实验将课本上理论知识加以实践,实验过程中明白了图像处理的一些技巧。

但是以上几种方法采用的基本都是线性变换法,在实际应用中存在很多缺陷。

它只能处理一些黑白分明的图像,而对于一些颜色丰富或者处理比较复杂图像时,往往于心不足。

图像的平滑处理

1、熟悉并掌握常见的图像噪声种类;

2、理解并掌握常用的图像的平滑技术,如邻域平均法和中值滤波的原理、特点、适用对象。

1、读出lena.jpg这幅图像,给这幅图像分别加入椒盐噪声、高斯噪声和乘性噪声后并与前一张图显示在同一图像窗口中。

2、对受高斯噪声(模拟均值为0方差为0.02的高斯噪声)干扰的lena图像分别利用邻域平均法和中值滤波进行滤波去噪(窗口可变,可先取3*3,依次再取5*5,7*7),并显示滤波结果。

3、对受椒盐噪声(噪声方差为0.02)干扰的lena图像,选择合适的滤波器将噪声滤除。

4、对受乘性噪声(噪声方差为0.02)干扰的lena图像,选择合适的滤波器将噪声滤除。

1.对实验任务1的实现代码如下:

>

I=imread('

i=rgb2gray(I);

J=imnoise(i,'

gaussian'

0,0.02);

%高斯噪声

K=imnoise(i,'

salt&

pepper'

0.02);

%椒盐噪声

P=imnoise(i,'

speckle'

%乘性噪声

subplot(2,2,1);

xlabel('

原图'

subplot(2,2,2);

imshow(J);

xlabel('

高斯噪声'

subplot(2,2,3);

imshow(K);

椒盐噪声'

subplot(2,2,4);

imshow(P);

乘性噪声'

结果如图3.1所示:

2.对实验任务2的实现代码如下:

K=im2double(J);

h=fspecial('

average'

G1=filter2(h,K,'

same'

G2=medfilt2(K);

imshow

(1);

添加高斯噪声'

imshow(G1);

均值滤波'

imshow(G2);

中指滤波'

结果如图3.2所示:

D:

添加椒盐噪声'

中值滤波'

结果如图3.3所示:

i=imread('

I=rgb2gray(i);

J=imnoise(I,'

添加乘性噪声'

结果如图3.4所示:

(1)采用均值滤波器对图像处理能达到去噪的效果,并且一般滤波器的模板越大去噪效果越好,但是应该适中,当模板选择的过大时,处理的效果就会下降,因此我们应该根据具体的要求选择合适的模板来处理图像。

(2)采用高斯滤波器对图像处理能达到去噪的效果,与均值滤波器相同,随着所用的滤波器尺寸的增大,图像的细节锐化程度相应降低图像变得模糊起来。

但相较于均值滤波器,其模糊程度较小。

但是高斯滤波同时受到标准差sigma的影响。

(3)中值滤波对去除“椒盐”噪声可以起到很好的效果,因为椒盐噪声只在画面中的部分点上随机出现,所以根据中值滤波原理可知,通过数据排序的方法,将图像中未被噪声污染的点代替噪声点的值的概率比较大,因此噪声的抑制效果很好。

中值滤波与均值滤波相比,在去除图像椒盐噪声的同时,还能够保持图像比较清晰的轮廓。

从实验结果可以看出,通过3*3的均值滤波器,图像中的噪声点有明显的消除。

但是3*3的非线性模板中值滤波器上对噪声的滤除效果更完美。

图像的锐化处理

1、熟悉并掌握MATLAB图像处理工具箱的使用;

2、理解并掌握常用的图像的锐化技术。

1、采用三种不同算子对图像进行锐化处理。

2、锐化空间滤波

1)采用3×

3的拉普拉斯算子w=[1,1,1;

1–81;

1,1,1]滤波

2)编写函数w=genlaplacian(n),自动产生任一奇数尺寸n的拉普拉斯算子,如5×

5的拉普拉斯算子:

w=[11111

11111

11-2411

11111

11111]

3)分别采用5×

5,9×

9,15×

15和25×

25大小的拉普拉斯算子对blurry_moon.tif进行锐化滤波,并利用式完成图像的锐化增强,观察其有何不同,要求在同一窗口中显示。

>

H=fspecial('

sobel'

I1=filter2(H,I);

prewitt'

I2=filter2(H,I);

log'

I3=filter2(H,I);

imshow(I1);

sobel算子锐化图像'

imshow(I2);

prewitt算子锐化图像'

imshow(I3);

log算子锐化图像'

1)

T=double(I);

subplot(1,2,1),imshow(T,[]);

w=[1,1,1;

1,-8,1;

1,1,1];

K=conv2(T,w,'

subplot(1,2,2),imshow(K,[]);

title('

LalacianTransformation'

2)

functionw=genlaplacian(n)

w=ones(n);

x=ceil(n/2);

w(x,x)=-1*(n*n-1);

3)w1=genlaplcaian(5);

I=imread(‘d:

\tp.jpg’);

T=double(I);

K=conv2(T,w1’same’);

J=T-K;

通过对数字图像进行锐化处理,可以增强图像的边缘,使模糊的图像变得清晰起来,而以上几种方法都能很好的将图像的边缘变得清晰,但是要在不影响图像整体效果的情况下还是比较困难。

综上所述,根据不同的情况可以需要选用不同的方法。

在边缘检测中,常用的一种模板是Sobel算子。

Sobel算子有两个,一个是检测水平边缘的;

另一个是检测垂直边缘的。

与Prewitt算子相比,Sobel算子对于象素的位置的影响做了加权,可以降低边缘模糊程度,因此效果更好。

20

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2