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

上传人:b****8 文档编号:30450792 上传时间:2023-08-15 格式:DOCX 页数:32 大小:1.93MB
下载 相关 举报
数字图像处理实验报告92805.docx_第1页
第1页 / 共32页
数字图像处理实验报告92805.docx_第2页
第2页 / 共32页
数字图像处理实验报告92805.docx_第3页
第3页 / 共32页
数字图像处理实验报告92805.docx_第4页
第4页 / 共32页
数字图像处理实验报告92805.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

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

《数字图像处理实验报告92805.docx》由会员分享,可在线阅读,更多相关《数字图像处理实验报告92805.docx(32页珍藏版)》请在冰豆网上搜索。

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

数字图像处理实验报告92805

实验报告

 

课程名称数字图像处理

实验项目点运算和直方图处理

实验仪器PC机MATLAB软件

 

系别

专业

班级/学号

学生姓名

实验日期

成绩

指导老师

实验1点运算和直方图处理

一、实验目的

1.掌握利用Matlab图像工具箱显示直方图的方法

2.掌握运用点操作进行图像处理的基本原理。

3.进一步理解利用点操作这一方法进行图像处理的特点。

4.掌握利用Matlab图像工具箱进行直方图均衡化的基本方法。

二、实验的硬件、软件平台

硬件:

计算机

软件:

MATLAB

三、实验内容及步骤

1.了解Matlab图像工具箱的使用。

2.利用Matlab图像工具箱对图像进行点操作,要求完成下列3个题目中的至少2个。

⑴图1灰度范围偏小,且灰度偏低,改正之。

⑵图2暗处细节分辨不清,使其能看清楚。

⑶图3亮处细节分辨不清,使其能看清楚。

图1图2图3

3.给出处理前后图像的直方图。

4.利用MatLab图像处理工具箱中函数对以上图像进行直方图均衡化操作,观察结果。

四、思考题

1.点操作能完成哪些图像增强功能?

2.直方图均衡化后直方图为何并不平坦?

为何灰度级会减少?

五、实验报告要求

1.对点操作的原理进行说明。

2.给出程序清单和注释。

3.对处理过程和结果进行分析(包括对处理前后图像的直方图的分析)。

题目1%图1灰度范围偏小,且灰度偏低,改正之。

方法:

像素点操作

clc

clearall

closeall

I=imread('Image1.png');%读取标题为“Point2”的位图,并用“I”表示该图

j=rgb2gray(I);%转为灰度图像,并用j表示

[l,r]=size(j);%将j的行数返回到第一个输出变量l,将列数返回到第二个输出变量r

figure

(1);%创建一个空的窗口

subplot(221);%将窗口分成2行2列,并在第一个位置进行操作

imshow(j);%显示图片j

title('原图像');%标题

form=1:

l%循环语句,行数m的值从1到l,下同

forn=1:

r

p(m,n)=j(m,n)*1.8;%将j图中的每一个点的像素值乘以一个常数,得到的新像素以原来的位置构成图p

end

end

subplot(222);

imshow(p);

title('处理后图像');

subplot(2,2,3);

imhist(j);%显示图像j的直方图

title('原图像直方图');

subplot(2,2,4);

imhist(p);

title('处理后图像直方图');

输出的图像:

图4

对比图像处理前后的直方图可知,原图的灰度范围较小。

图像均衡化处理后。

灰度级取值的动态范围扩大了,但灰度级减少了。

直方图变得更稀疏。

并且灰度级值整体增大了,即直方图整体向右平移了一段距离。

 

题目2%图2暗处细节分辨不清,使其能看清楚。

方法:

像素点操作

clc

clearall

closeall

I2=imread('Image2.png');

j2=rgb2gray(I2);

INFO2=imfinfo('Image2.png');

[l2,r2]=size(j2);

figure;

subplot(221)

imshow(j2)

title('原图')

fora=1:

l2

forb=1:

r2

q1(a,b)=j2(a,b)*1.2;%q1(a,b)为将原图灰度值提高1.2倍

end

end

fora=1:

l2

forb=1:

r2

q2(a,b)=j2(a,b)*2;%q2(a,b)为将原图灰度值提高2倍

end

end

fora=1:

l2%q3(a,b)自定义函数

forb=1:

r2

ifj2(a,b)<60

q3(a,b)=j2(a,b)*2.38;

elseifj2(a,b)>=60

q3(a,b)=j2(a,b)*0.5263+120.7;

end

end

end

end

subplot(222);

imshow(q1);

title('j(m,n)*1.2');

subplot(223);

imshow(q2);

title('j(m,n)*2');

subplot(224);

imshow(q3);

title('j(m,n)*自定义函数');

figure;

subplot(221),imhist(j2,64);title('原图的直方图');

subplot(222),imhist(q1,64);title('j(m,n)*1.2');

subplot(223),imhist(q2,64);title('j(m,n)*2');

subplot(224),imhist(q3,64);title('j(m,n)*自定义函数');

输出的图像:

图5

图6

题目3%图3亮处细节分辨不清,使其能看清楚。

方法:

像素点操作

clc

clearall

closeall

I2=imread('Image3.png');

j2=rgb2gray(I2);

INFO2=imfinfo('Image3.png');

[l2,r2]=size(j2);

figure;

subplot(221)

imshow(j2)

title('原图')

fora=1:

l2

forb=1:

r2

q1(a,b)=j2(a,b)*0.9;%q1(a,b)为将输出图像的灰度值缩小为原图的0.9倍

end

end

fora=1:

l2

forb=1:

r2

q2(a,b)=j2(a,b)*0.75;%q2(a,b)为将输出图像的灰度值缩小为原图的0.75倍

end

end

fora=1:

l2

forb=1:

r2

q3(a,b)=j2(a,b)*0.75+25;%q3(a,b)自定义的灰度值缩小函数

end

end

subplot(222);

imshow(q1);

title('j(m,n)*0.9');

subplot(223);

imshow(q2);

title('j(m,n)*0.75');

subplot(224);

imshow(q3);

title('j(m,n)*0.75+25');

figure;

subplot(221),imhist(j2,64);title('原图的直方图');

subplot(222),imhist(q1,64);title('j(m,n)*0.9');

subplot(223),imhist(q2,64);title('j(m,n)*0.75');

subplot(224),imhist(q3,64);title('j(m,n)*0.75+25');

图7

图8

这三个实验所用的方法均是对图像进行点操作处理,特别是其中对于判定和循环的运用是解题的关键,即对点进行判定并只对满足条件的点进行处理。

思考题

1.答:

点操作可以扩大灰度值的范围。

并且可以改变某点灰度值的大小,实现增强或减弱图像亮度、增强对比度以及直方图均衡化处理。

2.答:

均衡化后的直方图不平坦是由于图像中各灰度级出现的概率不同。

均衡化后的直方图使灰度级分布具有均匀概率密度。

扩展了像素取值的动态范围,但减少了灰度级。

实验感想:

通过本次实验,对与图片的点操作处理和直方图处理有了更深刻的体会。

同时我也认识到了设定优化参数的不易。

实验报告

 

课程名称数字图像处理

实验项目图像平滑实验

实验仪器PC机MATLAB软件

 

系别

专业

班级/学号

学生姓名

实验日期

成绩

指导老师

实验2图像平滑实验

一、实验目的

1.通过实验掌握图像去噪的基本方法;

2.学会根据情况选用不同方法。

二、实验的硬件、软件平台

硬件:

计算机

软件:

操作系统:

WINDOWS2000

应用软件:

MATLAB

三、实验内容及要求

1.实验内容

请在如下面方法中选择多个,完成图像去噪操作,并进行分析、比较。

(1)对静态场景的多幅图片取平均;

(2)空间域模板卷积(不同模板、不同尺寸);

(3)频域低通滤波器(不同滤波器模型、不同截止频率);

(4)中值滤波方法。

2.实验要求

(1)图片可根据需要选取;

(2)对不同方法和同一方法的不同参数的实验结果进行分析和比较,如空间域卷积模板可有高斯型模板、矩形模板、三角形模板和自己根据需求设计的模板等;模板大小可以是3×3,5×5,7×7或更大。

频域滤波可采用矩形或巴特沃斯等低通滤波器模型,截止频率也是可选的。

(3)分析比较不同方法的结果。

四、思考题

1.不同空间域卷积器模板的滤波效果有何不同?

2.空间域卷积器模板的大小的滤波效果有何影响?

3.用多幅图像代数平均的方法去噪对图像有何要求?

4.不同频域滤波器的效果有何不同?

五、实验报告要求

1.列出程序清单并进行功能注释;

2.说明不同方法去噪效果;

3.对去噪方法进行详细分析对比。

(1)对静态场景的多幅图片取平均:

%第一部分向Lenna.png加入8种不同的噪声

clc

clearall

closeall

M=imread('Lenna.png');%读取一幅名为Lenna.png的图像

M=rgb2gray(M);%转换为灰度值图像

subplot(3,3,1);

imshow(M);%显示原始图像

title('original');

P1=imnoise(M,'gaussian',0.01);%加入高斯躁声(噪声密度为0.01)

subplot(3,3,2);

imshow(P1);%加入高斯躁声(噪声密度为0.01)后显示图像

title('gaussiannoise1');

P2=imnoise(M,'salt&pepper',0.01);%加入椒盐躁声(噪声密度为0.01)

subplot(3,3,3);

imshow(P2);%加入椒盐躁声(噪声密度为0.01)后显示图像

title('salt&peppernoise1');

P3=imnoise(M,'gaussian',0.02);%加入高斯躁声(噪声密度为0.02)

subplot(3,3,4);

imshow(P3);%加入高斯躁声(噪声密度为0.02)后显示图像

title('gaussiannoise2');

P4=imnoise(M,'salt&pepper',0.02);%加入椒盐躁声(噪声密度为0.02)

subplot(3,3,5);

imshow(P4);%加入椒盐躁声(噪声密度为0.02)后显示图像

title('salt&peppernoise2');

P5=imnoise(M,'gaussian',0.03);%加入高斯躁声(噪声密度为0.03)

subplot(3,3,6);

imshow(P5);%加入高斯躁声(噪声密度为0.03)后显示图像

title('gaussiannoise3');

P6=imnoise(M,'salt&pepper',0.03);%加入椒盐躁声(噪声密度为0.03)

subplot(3,3,7);

imshow(P6);%加入椒盐躁声(噪声密度为0.03)后显示图像

title('salt&peppernoise3');

P7=imnoise(M,'gaussian',0.04);%加入高斯躁声(噪声密度为0.04)

subplot(3,3,8);

imshow(P7);%加入高斯躁声(噪声密度为0.04)后显示图像

title('gaussiannoise4');

P8=imnoise(M,'salt&pepper',0.04);%加入椒盐躁声(噪声密度为0.04)

subplot(3,3,9);

imshow(P8);%加入椒盐躁声(噪声密度为0.04)后显示图像

title('salt&peppernoise4');

imwrite(P1,'lenna_noise1.png','png');%保存图像P1至P8

imwrite(P2,'lenna_noise2.png','png');

imwrite(P3,'lenna_noise3.png','png');

imwrite(P4,'lenna_noise4.png','png');

imwrite(P5,'lenna_noise5.png','png');

imwrite(P6,'lenna_noise6.png','png');

imwrite(P7,'lenna_noise7.png','png');

imwrite(P8,'lenna_noise8.png','png');

输出的图像:

图9

 

%第二部分对静态场景的多幅带有不同噪声的图片取平均

clc

clearall

closeall;

a1=imread('lenna_noise1.png');%读入图片

a2=imread('lenna_noise2.png');

a3=imread('lenna_noise3.png');

a4=imread('lenna_noise4.png');

a5=imread('lenna_noise5.png');

a6=imread('lenna_noise6.png');

a7=imread('lenna_noise7.png');

a8=imread('lenna_noise8.png');

b1=double(a1)/255;%变换图像数据类型

b2=double(a2)/255;

b3=double(a3)/255;

b4=double(a4)/255;

b5=double(a5)/255;

b6=double(a6)/255;

b7=double(a7)/255;

b8=double(a8)/255;

c=(b1+b2+b3+b4+b5+b6+b7+b8)/8;%八幅图取平均

subplot(331),imshow(a1);title('噪声1');%三行三列,显示图像1-8

subplot(332),imshow(a2);title('噪声2');

subplot(333),imshow(a3);title('噪声3');

subplot(334),imshow(a4);title('噪声4');

subplot(335),imshow(a5);title('噪声5');

subplot(336),imshow(a6);title('噪声6');

subplot(337),imshow(a7);title('噪声7');

subplot(338),imshow(a8);title('噪声8');

subplot(339),imshow(c)%显示平均后的图像

title('平均后的图像');

输出的图像:

图10

原图像与经过平均处理的图像的对比:

图11

可以看到平均后得到的图像已经修复了噪声,但是仍有许多细节被损失了。

比如头发的细节几乎被抹掉。

我自己分析认为是主要是高斯噪声影响了结果,平均后得到的图像还有高斯噪声的痕迹。

(2)空间域模板卷积

%空间域模板卷积(不同模板、不同尺寸)

%第一组邻域模板

clc

clearall

closeall;

I=imread('lenna_pepper.png');%读入图像

I=double(I)/255;%变换数据类型

subplot(221);

imshow(I);%显示图像

title('原图像(邻域模板)');H=1/5*[010;101;010];%定义4邻域平均模板

A=filter2(H,I);%进行滤波

subplot(222);

imshow(A);%显示图像

title('4邻域平均模板');

subplot(223);

H=1/12*[0110;1111;1111;0110];%定义8邻域平均模板

A=filter2(H,I);

imshow(A);title('8邻域平均模板');

subplot(224);

H=1/12*[01110;11111;11111;01110];%定义12邻域平均模板

A=filter2(H,I);

imshow(A);

title('12邻域平均模板')

邻域模板输出的图像:

图12

可以发现,随着邻域模板的增大,原图中夹杂的椒盐噪声被抑制的更彻底。

个人认为8邻域平均模板的处理效果最好,12邻域平均模板的处理后,整幅照片灰度值偏高。

%空间域模板卷积(不同模板、不同尺寸)

%第二组高斯模板

clc

clearall

closeall;

I=imread('lenna_pepper.png');%读入图像

I=double(I)/255;%数值转换

subplot(231);

imshow(I);%显示图像

title('原图像(高斯模板)')

H=fspecial('gaussian',[33]);%产生预定义滤波器%选用3*3的高斯模板

%格式为b=fspecial(A,[m,n]);[m,n]是邻域大小

A=filter2(H,I);%对图像进行卷积滤波的函数格式A=filter2(h,B)

%其函数返回图像B经算子h滤波后的图像给A

subplot(232);imshow(A);title('3*3的高斯模板')

subplot(233);H=fspecial('gaussian',[55]);%选用5*5的高斯模板

A=filter2(H,I);imshow(A);title('5*5的高斯模板');

subplot(234);H=fspecial('gaussian',[77]);%选用7*7的高斯模板

A=filter2(H,I);imshow(A);title('7*7的高斯模板');

subplot(235);H=fspecial('gaussian',[99]);%选用9*9的高斯模板

A=filter2(H,I);imshow(A);title('9*9的高斯模板');

subplot(236);H=fspecial('gaussian',[1111]);%选用11*11的高斯模板

A=filter2(H,I);imshow(A);title('11*11的高斯模板')

高斯模板输出的图像:

图13

通过观察发现,多种尺寸的高斯模板均无法去除椒盐噪声。

得到的输出结果与原图一直。

这个实验结果让我有了一个猜想,即高斯模板只适合处理高斯噪声

 

%空间域模板卷积(不同模板、不同尺寸)

%第三组加权模板

clc

clearall

closeall;

I=imread('lenna_pepper.png');%读入图像

I=double(I)/255;%数据类型转换

subplot(1,3,1);

imshow(I);%显示图像

title('原图像(加权模板)')

H=1/10*[111;121;111];%选用3*3的加权平均模板

A=filter2(H,I);

subplot(1,3,2);

imshow(A);

title('3*3的加权平均模板')

subplot(1,3,3);

H=1/48*[01210;12421;24842;12421;01210];%选用5*5的加权平均模板

A=filter2(H,I);

imshow(A);

title('5*5的加权平均模板')

加权模板输出的图像:

图14

可以看到,这两种尺寸的加权平均模板的处理结果近似,都有效的滤去了原图中的椒盐噪声。

对比分析:

取上述各个模板中3*3模板(对应4邻域模板)进行比对,可以发现加权模板是效果最好的,有效的滤去了噪声,得到的图像的对比度和灰度值都与原图像相仿;4邻域模板的效果其次,基本滤去了噪声,得到的图像的灰度值与原图像相比偏低,伴有一些细节上的损失;高斯模板无效果,输出的图像与原图一致。

实验感想:

高斯模板对椒盐噪声的处理无效果,这个让我考虑了很久。

我不太明白为什么会没有效果。

我认为高斯模板应该会带来一些“负优化”,但是没有看到。

可能有时间我还得学习这些模板的相关算法,才能加以理解。

 

(3)频域低通滤波器(不同滤波器模型、不同截止频率)

%频域低通滤波器(不同滤波器模型、不同截止频率)

clc;

clearall;

closeall;

I=imread('lenna_pepper.png');

f1=im2double(I);

F1=fft2(double(f1));%傅里叶变换

F1=fftshift(F1);%将变换的原点移到频率矩形的中心

[M,N]=size(f1);

f2=double(I);

F2=fft2(f2);%傅里叶变换

F2=fftshift(F2);%将变换的原点移到频率矩形的中心

%理想低通滤波

D0=input('输入截止频率');

H1=zeros(M,N);

fori=1:

M

forj=i:

N

if(sqrt(((i-M/2)^2+(j-N/2)^2))

H1(i,j)=1;

end

end

end

H2=F1.*H1;

H2=ifftshift(H2);

H3=real(ifft2(H2));

%巴特沃斯低通滤波

n=input('巴特沃斯滤波器的阶数n=');

n1=fix(M/2);

n2=fix(N/2);

fori=1:

M

forj=1:

N

d=sqrt((i-n1)^2+(j-n2)^2);

B=1/(1+0.414*(d/D0)^(2*n));

B1(i,j)=B*F2(i,j);

end

end

B1=ifftshift(B1);

B2=ifft2(B1);

B3=uint8(real(B2));

%绘图

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

subplot(1,3,2);imshow(H3);title('理想低通滤波');

subplot(1,3,3);imshow(B3);title('巴特沃斯低通滤波');

当输入截止频率20

巴特沃斯滤波器的阶数n=2时

输出的图像:

图15

当输入截止频率40

巴特沃斯

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

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1