实验一 灰度变换及直方图变换.pdf
实验一实验一 图像空域增强灰度变换图像空域增强灰度变换一实验内容:一实验内容:图像灰度变换二实验目的:二实验目的:1、理解、掌握对数变换、幂次变换、对比度拉伸的原理方法2、了解图像灰度级的概率分布情况,掌握直方图均衡化原理和方法3、编程实现图像的对数变换、幂次变换、对比度拉伸、直方图均衡化三实验步骤:三实验步骤:1获取实验用图像:Fig3.05(a).jpg. 使用 imread 函数将图像读入 Matlab;并对其进行对数变换(令 c=1) ;应用 sublpot 在同一个图像窗口中显示原图像及对数变换后的图像,分别用 title 标注。原理:对数变换的一般表达式为:s clog(1r)其中c是一个常数,并假设r 0。该种变换是一窄带低灰度输入图像映射为一宽带输出值。相应的是输入灰度的高调整值。可以利用这种变换来扩展被压缩的高值图像中的暗像素。我们用 matlab 编程获取了图像 Fig3.05(a).jpg,并对其进行对数变换,所得结果如下图 1 所示:原 始 图 像对 数 变 换图 1分析图像: 比较上面两幅图像,我们会发现经过对数变换后的图像的细节可见程度比原始图像更明显些,在原始图像中最亮的像素显示为重点, 灰度低的像素(恰恰是重要的)却观察不到。经过对数变换扩展灰度低的像素从而使暗像素观察的很清楚。实验结果分析:经过 matlab 编程很好地对原始图像进行了对数变换,并取得了很好的效果,达到了实验地目的。程序如下:clear all;close all;clc;f=imread(D:实验一 灰度变换及直方图变换Fig3.05(a).jpg);s=log(1+double(f);subplot(1,2,1);imshow(f);title(原始图像);subplot(1,2,2);imshow(s);title(对数变换);2产生灰度变换函数 T1,使得:0.3rs =r 0.650.105 + 2.6333(r 0.35)1 + 0.3(r 1)用 T1 对原图像 Fig3.10(b).jpg 进行处理,在同一窗口显示处理前后的图像。原理:灰度拉伸又叫对比度拉伸,它是最基本的一种灰度变换,使用的是最简单的分段线性变换函数,它的主要思想是提高图像处理时灰度的动态范围,适用于低对比度图像的处理,增强对比度。我们用 matlab 编程获取了图像 Fig3.10(b).jpg,并对其进行对比度拉伸,所得结果如下图 2 所示:原 始 图 像处 理 后 图 像图 2分析图像: 比较图 2 中的两幅图像, 我们发现经过对比度拉伸处理后的图像明显比原始图像清晰。在原始图像中,花粉的对比度较低,经过灰度变换后的图像的对比度比较高。 这是因为变换函数把灰度级有原范围线性地拉伸至饱和范围,使得变换后的图像对比度显著增强。实验结果分析:运用 matlab,对原始图像进行灰度变换,显著增强了图片的对比度,达到了实验目的。程序如下:clear all;close all;clc;f=imread(D:实验一 灰度变换及直方图变换Fig3.10(b).jpg);r=f;if r0.35 s=0.3*r;else if r=0.65 s=0.105+2.6333*(r-0.35); else s=1+0.3*(r-1); endendsubplot(1,2,1);imshow(f);title(原始图像);subplot(1,2,2);imshow(s,),title(处理后图像);3. 分别用 s = r0.6;s = r0.4;s = r0.3对 Fig3.08(a).jpg 图像进行幂次变换。为简便起见,可使用 Matlab 中的 imadjust 函数;在同一图像窗口显示原图像,伽玛为 0.6,0.4,0.3 的图像原理:幂次变换的基本形式为:rs c其中c和为正常数。有时考虑到偏移量(即当输入为 0 时可测量输出) ,上式也可写为s c(r )。当1时把输入窄带暗值映射到宽带输出值,增强图像的对比度。当1时,正好与1时相反。根据此原理, 我们用 matlab 进行编程来实现对图像 Fig3.08(a).jpg 进行1的幂次变换处理,其结果图像如下图 3 所示:原 始 图 像伽 码 为 0.6伽 码 为 0.4伽 码 为 0.3图 3分析图像:由于原始图像整体呈现暗色,我们知道当伽马小于 1 时,幂次变换把窄带低灰度输入映射到宽带输出值, 此时, 幂次变换相当于对数变换,只不过比对数变换更灵活些, 因此, 我们通过不断尝试伽马值来达到增强图像的目的。 从图 3 中我们可观察到: 在伽马值从 0.6 到 0.4 时,可看到更多的细节,当伽马值进一步减小到0.3 时,背景中的细节进一步增强,但图像看上去开始有轻微的“冲淡”外观的那一点的对比度开始减少,尤其是背景。 比较所有结果,我们发现对比度和可辨别细节的最好增强效果在伽马为 0.4 时。程序如下:clear all;close all;clc;f=imread(D:实验一 灰度变换及直方图变换Fig3.08(a).jpg);r=im2double(f);s1=power(r+10.(-100),0.6);s2=power(r+10.(-100,0.4);s3=power(r+10.(-100,0.3);subplot(2,2,1),imshow(f),title(原始图像);subplot(2,2,2),imshow(s1,),title(伽码为0.6);subplot(2,2,3),imshow(s2,),title(伽码为0.4);subplot(2,2,4),imshow(s3,),title(伽码为0.3);4对 Fig3.09(a).jpg 图像进行幂次变换,伽玛分别为 3、4、5;在同一窗口下分别显示原图像及伽玛为 3、4、5 的图像。原理如上3所述。 根据此原理, 我们用matlab进行编程来实现对图像Fig3.09(a).jpg进行1的幂次变换处理,其结果图像如下图 4 所示:原 始 图 像伽 码 为 3伽 码 为 4伽 码 为 5图 4分析图像:由于原始图像整体呈现亮色,我们知道当伽马大于 1 时,幂次变换把宽带高灰度输入映射到窄带输出值。因此, 我们通过不断尝试伽马值来达到增强图像的目的。从图4 中我们可观察到:在伽马值从3 到 4时,可得到合适的效果,且后者有较高的对比度所以效果比较好,当伽马值进一步增加到 5 时,有些地方太暗而丢失一些细节,比较所有结果,我们发现对比度和可辨别细节的最好增强效果在伽马为 4 时。实验结果分析: 在上述的幂次变换中,我们知道对于不同的图片进行的幂次变换也不相同,对于整体呈暗色的图片,实行适当的伽马小于 1 的幂次变换可达到较好效果。相反,对于整体呈亮色的图片,实行合适的伽马大于 1 的幂次变换可达到较好效果。总而言之,本次试验取得了很好的效果,达到了实验目的。程序如下:clear all;close all;clc;f=imread(D:实验一 灰度变换及直方图变换Fig3.09(a).jpg);r=double(f);s1=power(r,3);s2=power(r,4);s3=power(r,5);subplot(2,2,1),imshow(f),title(原始图像);subplot(2,2,2),imshow(s1,),title(伽码为3);subplot(2,2,3),imshow(s2,),title(伽码为4);subplot(2,2,4),imshow(s3,),title(伽码为5);5分别读入 Fig3.15(a)1.jpg、Fig3.15(a)2.jpg、Fig3.15(a)3.jpg、Fig3.15(a)4.jpg,绘出直方图;并对这四幅图像进行直方图均衡化处理,显示处理后的图像及直方图。用 matlab 中的直方图均衡化函数,将Fig3.15(a)1.jpg、Fig3.15(a)2.jpg、Fig3.15(a)3.jpg、Fig3.15(a)4.jpg,四幅图进行均衡化处理,并作出直方图,如下所示:原 始 图 像 3.15(a)1直 方 图60005000400030002000100000100200处 理 后 图 像 3.15(a)1原 始 图 像 3.15(a)2处 理 后 直 方 图60005000400030002000100000100200直 方 图700060005000400030002000100000100200处 理 后 图 像 3.15(a)2原 始 图 像 3.15(a)3处 理 后 直 方 图700060005000400030002000100000100200直 方 图700060005000400030002000100000100200处 理 后 图 像 3.15(a)3原 始 图 像 3.15(a)4处 理 后 直 方 图700060005000400030002000100000100200直 方 图400035003000250020001500100050000100200处 理 后 直 方 图5000处 理 后 图 像 3.15(a)4400030002000100000100200实验结果分析:从上面图中,我们可以看出,经过直方图均衡化后的图像与原始图像相比更清晰了。我们也发现,对于直方图不均衡的原始图像的增强效果更明显 (观察前 6 幅图) , 这也说明此次实验效果很好。程序如下:clear all;close all;clc;f1=imread(D:实验一 灰度变换及直方图变换Fig3.15(a)1.jpg);f2=imread(D:实验一 灰度变换及直方图变换Fig3.15(a)2.jpg);f3=imread(D:实验一 灰度变换及直方图变换Fig3.15(a)3.jpg);f4=imread(D:实验一 灰度变换及直方图变换Fig3.15(a)4.jpg);f11=histeq(f1);f22=histeq(f2);f33=histeq(f3);f44=histeq(f4);subplot(2,2,1),imshow(f1),title(原始图像 3.15(a)1);subplot(2,2,2),imhist(f1),title(直方图);subplot(2,2,3),imshow(f11),title(处理后图像 3.15(a)1);subplot(2,2,4),imhist(f11),title(处理后直方图);figure,subplot(2,2,1),imshow(f2),title(原始图像 3.15(a)2);subplot(2,2,2),imhist(f2),title(直方图);subplot(2,2,3),imshow(f22),title(处理后图像 3.15(a)2);subplot(2,2,4),imhist(f22),title(处理后直方图);figure,subplot(2,2,1),imshow(f3),title(原始图像 3.15(a)3);subplot(2,2,2),imhist(f3),title(直方图);subplot(2,2,3),imshow(f33),title(处理后图像 3.15(a)3);subplot(2,2,4),imhist(f33),title(处理后直方图);figure,subplot(2,2,1),imshow(f4),title(原始图像 3.15(a)4);subplot(2,2,2),imhist(f4),title(直方图);subplot(2,2,3),imshow(f44),title(处理后图像 3.15(a)4);subplot(2,2,4),imhist(f44),title(处理后直方图);