实验三 空域图像增强Word文档格式.docx
《实验三 空域图像增强Word文档格式.docx》由会员分享,可在线阅读,更多相关《实验三 空域图像增强Word文档格式.docx(21页珍藏版)》请在冰豆网上搜索。
2.直方图处理
直方图变换可以清晰图像细节,突出目标物体,改善亮度比例关系,增强图像对比度。
直方图变换基于概率论。
直方图均衡化主要用于增强动态范围偏小的图像的反差。
其基本思想是把原图像的直方图转换为均匀分布的形式,增加像素灰度值的动态范围,增强图像整体对比度。
五、实验步骤
1.灰度变换(直接正比变换)
(1)程序源代码:
closeall
clear15
clc
disp('
====E4_4_1.m===='
);
I=imread('
rice.png'
subplot(3,3,1),imshow(I),ylabel('
原图像'
subplot(3,3,2),imhist(I);
%方法1-系统函数
J=imadjust(I,[40/255204/255],[01]);
%图像的最小灰度值为40,最大灰度值为204
subplot(3,3,4),imshow(J),ylabel('
变换图像(方法1)'
subplot(3,3,5),imhist(J);
%方法2-编程实现
%把灰度值范围从[40,204]映射到[0,255]
f0=0;
g0=0;
%分段曲线的第1个点
f1=40;
g1=0;
%分段曲线的第2个点
f2=204;
g2=255;
%分段曲线的第3个点
f3=255;
g3=255;
%分段曲线的第4个点
subplot(3,3,9),plot([f0,f1,f2,f3],[g0,g1,g2,g3]),xlabel('
f'
),ylabel('
g'
),axis([02550255]);
%绘制变换曲线
r1=(g1-g0)/(f1-f0);
%曲线1的斜率
b1=g0-r1*f0;
%曲线1的截距
r2=(g2-g1)/(f2-f1);
%曲线2的斜率
b2=g1-r2*f1;
%曲线2的截距
r3=(g3-g2)/(f3-f2);
%曲线3的斜率
b3=g2-r3*f2;
%曲线3的截距
[m,n]=size(I);
K=double(I);
fori=1:
m
forj=1:
n
f=K(i,j);
g(i,j)=0;
if(f>
=f0)&
(f<
=f1)
g(i,j)=r1*f+b1;
%曲线1的方程y=r1*x+b1
else
if(f>
=f1)&
=f2)
g(i,j)=r2*f+b2;
%曲线2的方程y=r2*x+b2
=f2)&
=f3)
g(i,j)=r3*f+b3;
%曲线3的方程y=r3*x+b3
end
end16
subplot(3,3,7),imshow(uint8(g)),ylabel('
变换图像(方法2)'
subplot(3,3,8),imhist(uint8(g));
(2)观察并记录实验结果:
作为实验报告的内容
(3)将“分段曲线的第2个点”更改为“f1=150;
”,观察并记录实验结果,分析产生该结果的原因:
作为实验报告的内容。
2.灰度变换(截取式正比变换)
clear
====E4_4_2.m===='
%把灰度值范围[80,160]映射到[20,220],灰度值小于80的映射为20,灰度值大于160的映射为220
J=imadjust(I,[80/255160/255],[20/255220/255]);
g0=20;
f1=80;
g1=20;
f2=160;
g2=220;
g3=220;
17
(3)将“分段曲线的第1个点”更改为“f1=0;
g1=150;
”,“分段曲线的第2个点”更改为“f1=80;
3.灰度变换(反比变换)
====E4_4_3.m===='
%把灰度值范围[0,255]映射到[255,0]
J=imadjust(I,[0/255255/255],[255/2550/255]);
g0=255;
f1=100;
g1=155;
f2=200;
g2=55;
g3=0;
%曲线1的斜率18
(3)将“分段曲线的第3个点”更改为“f1=200;
4.灰度变换(对比拉伸)
====E4_4_4.m===='
subplot(2,3,1),imshow(I),ylabel('
subplot(2,3,2),imhist(I);
%图像的最小灰度值为40,最大灰度值为204
f1=90;
g1=30;
f2=150;
g2=225;
%分段曲线的第4个点19
subplot(2,3,6),plot([f0,f1,f2,f3],[g0,g1,g2,g3]),xlabel('
subplot(2,3,4),imshow(uint8(g)),ylabel('
对比拉伸变换图像'
subplot(2,3,5),imhist(uint8(g));
(3)将“分段曲线的第3个点”更改为“f1=90;
g1=225;
5.灰度变换(灰度切割)
====E4_4_5.m===='
%######第1种方法######
g0=100;
g1=100;
f2=100;
g2=240;
f3=140;
g3=240;
f4=140;
g4=100;
%分段曲线的第5个点
f5=255;
g5=100;
%分段曲线的第6个点
subplot(3,3,6),plot([f0,f1,f2,f3,f4,f5],[g0,g1,g2,g3,g4,g5]),xlabel('
r4=(g4-g3)/(f4-f3);
%曲线4的斜率
b4=g3-r4*f3;
%曲线4的截距
r5=(g5-g4)/(f5-f4);
%曲线5的斜率
b5=g4-r5*f4;
%曲线5的截距
f1)
f2)
f3)
=f3)&
f4)
g(i,j)=r4*f+b4;
%曲线4的方程y=r4*x+b4
=f4)&
=f5)
g(i,j)=r5*f+b5;
%曲线5的方程y=r5*x+b4
end
subplot(3,3,4),imshow(uint8(g)),ylabel('
第1种方法'
subplot(3,3,5),imhist(uint8(g));
%######第2种方法######
g4=140;
g5=255;
subplot(3,3,9),plot([f0,f1,f2,f3,f4,f5],[g0,g1,g2,g3,g4,g5]),xlabel('
=f4)
第2种方法'
(3)在“第1种方法”中将“分段曲线的第1个点”更改为“f0=0;
(4)在“第2种方法”中将“分段曲线的第1个点”更改为“f0=0;
6.灰度变换(对数变换)
====E4_4_6.m===='
%对数变换
c=255/log(1+255);
%语句1
x=0:
1:
255;
y=c*log(1+x);
subplot(3,3,6),plot(x,y),axistight,xlabel('
g=c*log(K+1);
%{
%等价的循环语句实现
g(i,j)=c*log(K(i,j)+1);
%}
对数变换'
%###系统函数调用###
J=imadjust(I,[],[],0.216);
subplot(3,3,7),imshow(J),ylabel('
对数变换(系统调用)'
subplot(3,3,8),imhist(J);
(3)指出“语句1”把变量c定义为“c=255/log(1+255);
”的原因。
(4)将“语句1”更改为“c=1”,观察并记录实验结果,分析产生该结果的原因:
7.灰度变换(幂次变换)
====E4_4_7.m===='
%幂次变换
C=1/(255^3);
y=C*(x.^4);
g=C*(K.^4);
g(i,j)=C*(K(i,j)^4);
幂次变换'
%###系统函数调用###
J=imadjust(I,[],[],4);
幂次变换(系统调用)'
(3)指出“语句1”把变量c定义为“C=1/(255^3);
8.直方图处理(直方图均衡化)
====E4_5_2.m===='
tire.tif'
J=histeq(I);
subplot(2,2,1),imshow(I),ylabel('
subplot(2,2,2),imhist(I);
subplot(2,2,3),imshow(J),ylabel('
直方图均衡图像'
subplot(2,2,4),imhist(J);
(3)将图片“tire.tif”更改为另外一张新的图片,观察并记录实验结果:
六、实验报告要求
1.实验名称、实验日期、学生姓名、班级、教学班号、学号。
2.实验目的和要求。
3.实验仪器、设备及材料
4.实验原理。
5.实验步骤。
6.实