数字图像处理实验作业及代码Word下载.docx

上传人:b****5 文档编号:20720083 上传时间:2023-01-25 格式:DOCX 页数:23 大小:1.27MB
下载 相关 举报
数字图像处理实验作业及代码Word下载.docx_第1页
第1页 / 共23页
数字图像处理实验作业及代码Word下载.docx_第2页
第2页 / 共23页
数字图像处理实验作业及代码Word下载.docx_第3页
第3页 / 共23页
数字图像处理实验作业及代码Word下载.docx_第4页
第4页 / 共23页
数字图像处理实验作业及代码Word下载.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

数字图像处理实验作业及代码Word下载.docx

《数字图像处理实验作业及代码Word下载.docx》由会员分享,可在线阅读,更多相关《数字图像处理实验作业及代码Word下载.docx(23页珍藏版)》请在冰豆网上搜索。

数字图像处理实验作业及代码Word下载.docx

figure,plot(r,s1),title('

变换函数一'

figure,imshow(a2),title('

改后二'

figure,imhist(a2),title('

改后直方图二'

figure,plot(r,s2),title('

变换函数二'

imwrite(a1,'

改后rice一.jpg'

imwrite(a2,'

改后rice二.jpg'

b=imread('

kids.tif'

figure,imshow(b),title('

b=double(b)/256;

figure,imhist(b);

title('

s1=r.^0.6;

s2=r.^0.4;

s3=r.^0.3;

b1=imadjust(b,[],[],0.6);

b2=imadjust(b,[],[],0.4);

b3=imadjust(b,[],[],0.3);

figure,imshow(b1),title('

figure,imhist(b1),title('

figure,imshow(b2),title('

figure,imhist(b2),title('

figure,imshow(b3),title('

改后三'

figure,imhist(b3),title('

改后直方图三'

figure,plot(r,s3),title('

变换函数三'

imwrite(b1,'

改后kids一.jpg'

结论:

不同的灰度变换对最终图像的影响效果是不同的。

通过matlab灰度变化可以增加图像亮度,提高对比度,使视觉效果更好。

数字图像处理—实验二

源代码:

I1=imread('

mountain.jpg'

[J1,T1]=histeq(I1,256);

figure,subplot(2,3,1),imshow(I1),title('

subplot(2,3,2),imhist(I1),title('

原图直方图'

subplot(2,3,4),imshow(J1),title('

均衡化后图像'

subplot(2,3,5),imhist(J1),title('

均衡化后直方图'

subplot(2,3,6),plot(T1),title('

变换函数'

I2=uint8(I1);

r=0:

1:

255;

n=([r<

=5].*r*1400+[r>

5].*[r<

=20].*(7000-r*310)+[r>

20].*[r<

=180].*(900-r*5)...

+[r>

180].*[r<

=225].*(r*8-1440)+[r>

225].*[r<

=255].*(3060-r.*12));

[J2,T2]=histeq(I2,n);

figure,subplot(2,3,1),imshow(I2),title('

subplot(2,3,2),imhist(I2),title('

subplot(2,3,4),imshow(J2),title('

规定化后图像'

subplot(2,3,5),imhist(J2),title('

规定化后直方图'

subplot(2,3,6),plot(T2),title('

I3=im2double(I1);

[mn]=size(I3);

r1=zeros(1,256);

p=r1;

s1=r1;

s2=r1;

a=0;

fork=1:

256

fori=1:

m

forj=1:

n

if(I3(i,j)==((k-1)/255));

r1(k)=r1(k)+1;

end

end

p(k)=r1(k)/65536;

s1(k)=a+p(k);

a=s1(k);

s2(k)=round(s1(k)/(1/255))/255;

end

t=0;

t=t+1;

if(k==256||s2(k)~=s2(k+1))

if(I3(i,j)>

=(k-t)/255&

&

I3(i,j)<

=(k-1)/255)

I4(i,j)=s2(k);

t=0;

I3=mat2gray(I3);

I4=mat2gray(I4);

figure,subplot(2,3,1),imshow(I3),title('

subplot(2,3,2),imhist(I3),title('

subplot(2,3,4),imshow(I4);

自编函数均衡化'

subplot(2,3,5);

imhist(I4);

自编函数均衡化后直方图'

subplot(2,3,6),plot(s1),title('

处理前后图像:

直方图均衡化通过使用累积函数对灰度值进行“调整”以实现对比度的增强,

通常用来增加许多图像的局部对比度,尤其是当图像的有用数据的对比度相当接近的时候。

通过这种方法,亮度可以更好地在直方图上分布。

这样就可以用于增强局部的对比度而不影响整体的对比度。

数字图像处理—实验三

closeall;

I=imread('

test3_1.jpg'

I=im2double(I);

tic

J=nlfilter(I,[55],@mean2);

toc

T=nlfilter(I,[55],@std2);

figure

(1),subplot(2,3,1),imshow(I),title('

原始图像'

subplot(2,3,2),imshow(J),title('

邻域均值图像'

subplot(2,3,3),imshow(T),title('

邻域均值标准差图像'

imwrite(J,'

nlfilterl滤波后.jpg'

I=imnoise(I,'

gaussian'

0,0.02);

subplot(2,3,4),imshow(I),title('

加噪图像'

subplot(2,3,5),imshow(J),title('

加噪邻域均值图像'

subplot(2,3,6),imshow(T),title('

加噪邻域均值标准差图像'

加噪nlfilterl滤波后.jpg'

I2=imread('

test3_2.jpg'

J2=im2double(I2);

ave=fspecial('

average'

5);

J2=filter2(ave,J2);

J3=medfilt2(J2,[55]);

J4=nlfilter(J2,[55],@mean2);

figure

(2),subplot(2,2,1),imshow(I2),title('

subplot(2,2,2),imshow(J2),title('

filter2处理后图像'

subplot(2,2,3),imshow(J3),title('

medfilt2处理后图像'

subplot(2,2,4),imshow(J4),title('

nlfilter处理后图像'

imwrite(J2,'

filter2滤波后.jpg'

imwrite(J3,'

medfilt2滤波后.jpg'

imwrite(J4,'

nlfilter滤波后

(2).jpg'

F=midf(I2,3,3);

figure(3),subplot(1,2,1),imshow(I2),title('

滤波前'

subplot(1,2,2),imshow(F),title('

中值滤波后'

imwrite(F,'

自编中值滤波后.jpg'

调用函数一:

functionmid=middle(F1)%求窗口元素的中值

[m,n]=size(F1);

x=m*n;

y=m*n;

k=0;

fori=1:

k=k+1;

x(k)=F1(i,j);

%组成一维数组

end

y

k=i;

forj=i+1:

ifx(j)<

x(k)

k=j;

ifk~=i

t=x(k);

x(k)=x(i);

x(i)=t;

mid=x(ceil(y/2));

functionave=midf(F,m,n)

[X,Y]=size(F);

fori=ceil(m/2):

X-fix(m/2)

forj=ceil(n/2):

Y-fix(n/2)

F1=F(i-fix(m/2):

i+fix(m/2),j-fix(n/2):

j+fix(n/2));

%扣出窗口内的元素组成一矩阵

F(i,j)=middle(F1);

%求该矩阵的中值

ave=uint8(F);

平滑技术用于平滑图像的噪声,平滑噪声可以在空间域中进行,基本方法是求像素灰度的平均值或中值。

但是这些很容易引起边缘的模糊,常用的有均值滤波、中值滤波,在使用时,针对不同的噪声,也需要不同的滤波法,没有哪种方法是绝对好,必须具体情况具体分析。

数字图像处理—实验四

cameraman.tif'

a=im2double(a);

figure;

subplot(1,3,1);

imshow(a);

inputimage'

h1=fspecial('

sobel'

MotionBlur1=imfilter(a,h1);

subplot(1,3,2);

imshow(MotionBlur1);

sobel-MotionBlurredImage'

h2=fspecial('

Laplacia'

0);

MotionBlur2=imfilter(a,h2);

subplot(1,3,3);

imshow(MotionBlur2);

Laplacia-MotionBlurredImage'

figure('

name'

'

直接输入算子锐化处理'

NumberTitle'

Off'

dx=[-1-2-1;

000;

121];

dy=[-101;

-202;

-101];

d=(dx.^2+dy.^2).^0.5;

MotionBlur3=imfilter(a,d);

imshow(MotionBlur3);

sobel-directinput-MotionBlurredImage'

l=[0-10;

-14-1;

0-10];

MotionBlur4=imfilter(a,l);

imshow(MotionBlur4);

Laplacia-directinput-MotionBlurredImage'

a=imread('

skeleton.jpg'

L=[-1-1-1;

-18-1;

-1-1-1];

MotionBlur1=imfilter(a,L);

对角线Laplacian算子'

MotionBlur2=MotionBlur1+a;

叠加后图形'

subplot(2,3,1);

h2=imfilter(a,h1);

subplot(2,3,2);

imshow(h2);

MotionBlur3=imfilter(h2,[55]);

subplot(2,3,3);

sobel-领域平均'

MotionBlur4=imsubtract(MotionBlur2,h2);

subplot(2,3,4);

相乘图象'

MotionBlur5=MotionBlur4+a;

imshow(MotionBlur5);

与原始图叠加后图形'

MotionBlur6=imadjust(MotionBlur5,[],[],0.2);

subplot(2,3,6);

imshow(MotionBlur6);

幂指数为0.2的灰度变换'

a1=imread('

cell.jpg'

a=im2double(a1);

f=double(a1);

[m,n]=size(f);

m

n

ifi==m

G(i,j)=G(i-1,j);

elseifj==n

G(i,j)=G(i,j-1);

else

G(i,j)=abs(f(i,j)-f(i+1,j+1))+abs(f(i+1,j)-f(i,j+1));

Z=f;

fori=4:

8

k=find(G>

=i);

Z(k)=255;

q=find(G<

i);

Z(q)=0;

subplot(2,3,1);

subplot(2,3,i-2);

imshow(Z);

title(['

门限T为'

num2str(i)]);

end;

Sobel对噪声的增强作用小,具有一定的平滑特性和方向特性,处理后的图象边界比较粗略,反映边界信息较少,但反映的边界比较清晰。

Laplacian算子对噪声的增强作用较大,处理后的图象边缘较sobel弱,反映的边界信息不是太清晰。

原图像经叠加,增强了噪声,但处理后的图像细节部分比原图像清晰。

.经线性滤波处理后,去除噪声的同时使图象的边缘变得模糊了。

 

实验小结:

通过对数字图像处理这门课的学习及matlab上机的实验操作,虽然学习不很深入,但我也算认识到了对图像基本的变换方式。

我们知道图像处理是对图像进行加工,从而满足人类的心理、视觉或应用需求的一种行为。

而很多图像由于生成时更方面的干扰,使得图像并不如人们所期望的那样清晰和便于分析,这就需要对图像进行后期的处理,如去噪,增加亮度或对比度,减小亮度或对比度,以达到更符合人们需求的图像。

而Matlab四个实验的学习则有效地实现了部分功能。

初学matlab,知道了它是一种基于矩阵数值计算的软件,实际操作中应该充分认识到这一点。

对图像进行处理的时候,还有多方面的因素要考虑,像图像用imread读取的时候,图像的保存路径是否正确,读取的图像是不是bmp格式的,处理后的像素值是不是在0~255之间等,期间犯了很多错误,也改了很多错误,虽然课时不长,但的确学到了很多。

从四个小实验及课堂的学习也可以想象得到图像数字处理的大应用。

在航空航天技术、生物医学工程、通信工程、军事、文化艺术和电子商务方面大有可为,初学的我们,所了解的只是九牛一毛。

希望今后能再进行深入的学习,通过学习达到更深入的目的。

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

当前位置:首页 > 农林牧渔 > 林学

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

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