14组实验二.docx
- 文档编号:23600725
- 上传时间:2023-05-18
- 格式:DOCX
- 页数:16
- 大小:2.49MB
14组实验二.docx
《14组实验二.docx》由会员分享,可在线阅读,更多相关《14组实验二.docx(16页珍藏版)》请在冰豆网上搜索。
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等函数。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 14 实验