14组实验二.docx

上传人:b****8 文档编号:9364421 上传时间:2023-05-18 格式:DOCX 页数:16 大小:2.49MB
下载 相关 举报
14组实验二.docx_第1页
第1页 / 共16页
14组实验二.docx_第2页
第2页 / 共16页
14组实验二.docx_第3页
第3页 / 共16页
14组实验二.docx_第4页
第4页 / 共16页
14组实验二.docx_第5页
第5页 / 共16页
14组实验二.docx_第6页
第6页 / 共16页
14组实验二.docx_第7页
第7页 / 共16页
14组实验二.docx_第8页
第8页 / 共16页
14组实验二.docx_第9页
第9页 / 共16页
14组实验二.docx_第10页
第10页 / 共16页
14组实验二.docx_第11页
第11页 / 共16页
14组实验二.docx_第12页
第12页 / 共16页
14组实验二.docx_第13页
第13页 / 共16页
14组实验二.docx_第14页
第14页 / 共16页
14组实验二.docx_第15页
第15页 / 共16页
14组实验二.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

14组实验二.docx

《14组实验二.docx》由会员分享,可在线阅读,更多相关《14组实验二.docx(16页珍藏版)》请在冰点文库上搜索。

14组实验二.docx

14组实验二

实验二图像增强

(一)

实验目的:

1.熟悉亮度变换函数imadjust的原理和使用;

2.会分析图像的直方图,理解直方图均衡化的基本原理,熟练掌握直方图显示函数imhist、均衡化函数histeq;

3.练习自己写函数。

实验内容:

1、做出四幅心脏图像(heart1-heart4)的直方图,指出哪幅图的效果最好,结合直方图分析质量不好的图像出现的问题和可能原因。

试用我们学过的方法将三幅质量不好的图片变好。

答:

>>A=imread('heart1.bmp');

>>B=imread('heart2.bmp');

>>C=imread('heart3.bmp');

>>D=imread('heart4.bmp');

>>imshow(A),figure,imhist(A)

>>imshow(B),figure,imhist(B)

>>imshow(C),figure,imhist(C)

>>imshow(D),figure,imhist(D)

 

大多数像素灰度值取在较暗区域,图像会较暗.一般在摄影过程中曝光过弱就会造成这种结果。

大多数像素灰度值集中在亮区,图像将偏亮.一般在摄影中曝光太强将导致这种结果。

 

图像的像素窄而集中(动态范围小),对比度低。

图像动态范围适中,这一副效果最好。

改良:

>>f1=imadjust(A,[0,0.2],[0,1]);

>>imshow(f1),figure,imhist(f1)

>>f2=imadjust(B,[0.6,1],[0,1]);

>>imshow(f2),figure,imhist(f2)

 

>>f3=imadjust(C,[0.3,0.6],[0,1]);

>>imshow(f3),figure,imhist(f3)

2、分别做出图片heart1和moon的直方图,并对其进行均衡化。

将得到的结果图片和原图片比较,效果如何?

为什么对不同的图片进行均衡化会有如此差别?

答:

>>A=imread('heart1.bmp');

>>imshow(A),figure,imhist(A)

均衡化:

>>g1=histeq(A);

>>imshow(g1),figure,imhist(g1)

>>E=imread('moon.tif');

>>imshow(E),figure,imhist(E)

均衡化:

>>g2=histeq(E);

>>imshow(g2),figure,imhist(g2)

结果图片和原图片相比,效果不好,出现褪色现象,图像的局部对比度增加了,尤其是当图像的有用数据的对比度相当接近的时候,

因为这两张图片的某个区间的灰度级频率太高了,所以均衡化起来就效果不理想。

如果直方图偏向一边,即直方条多数在一个灰度区段而且是最小灰度级的,那么直方图均衡后的效果就没那么好。

 

3、编写一个m函数文件,完成以下功能:

输入参数:

图像名

处理:

(1)计算图像灰度的最大、最小值和平均值。

(2)将图像做反色变换,并画出变换函数的映射图;

输出:

将每次处理的结果显示出来

用breast.tif图片进行测试,看一下你编写的函数是否可以达到课本48页图(b)的效果。

答:

test.m

function[max,min,ave,g]=test(f)

max=f(1,1);

min=f(1,1);

[m,n]=size(f);

ave=sum(sum(f))/(m*n);

fori=1:

m

forj=1:

n

iff(i,j)>=max

max=f(i,j);

end

iff(i,j)<=min

min=f(i,j);

end

end

end

>>f=imread('breast.tif');

>>[max,min,ave,g]=test(f);

>>imshow(g)

 

4、对于三段的分段线性变换,是否能用imadjust函数实现?

考虑三段灰度变换如何编写m文件im3adjust实现,输入为图片、a,b和c,d的值(见PPT),输出为经过变换后的图片。

用pout.tif图片进行测试。

答:

对于三段的分段线性变换,不能用imadjust函数实现。

im3adjust.m

function[g]=im3adjust(f,a,b,c,d)

[m,n]=size(f);

g=zeros(m,n);

fori=1:

m

forj=1:

n

iff(i,j)>0&f(i,j)<=a

g(i,j)=(c/a)*f(i,j);

else

iff(i,j)>a&f(i,j)<=b

g(i,j)=((d-c)/(b-a))*(f(i,j)-a)+c;

else

iff(i,j)<=255

g(i,j)=((255-d)/(255-b))*(f(i,j)-b)+d;

end

end

end

end

end

g=mat2gray(g);

>>f=imread('pout.tif');

>>imshow(f)

>>imhist(f);

>>[g]=im3adjust(f,70,160,0,255);

>>imshow(g)

>>imhist(g);

>>plot(f,g);%图像到图像的映射

%值到值的映射

>>k1=0:

5:

a;

>>y1=(c/a)*k1;

>>k2=a:

5:

b;

>>y2=((d-c)/(b-a))*(k2-a)+c;

>>k3=b:

5:

255;

>>y3=((255-d)/(255-b))*(k3-b)+d;

>>plot(k1,y1,k2,y2,k3,y3)

5、提高题:

将图片lung.bmp进行旋转90度,缩小为原图一半的变换。

答:

>>f=imread('lung.bmp');

>>g=imrotate(f,90);逆时针旋转90度

>>h=imrotate(f,-90);顺时针旋转90度

>>z=imresize(f,0.5);

>>imshow(f),figure,imshow(g),figure,imshow(h),figure,imshow(z)

 

逆时针旋转90度

顺时针旋转90度

 

缩小一半

实验总结:

通过这次实验我们组员熟悉了亮度变换函数imadjust的原理和使用也会分析了图像的直方图,理解直方图均衡化的基本原理,熟练掌握直方图显示函数imhist、均衡化函数histeq等函数。

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

当前位置:首页 > 自然科学 > 物理

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

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