图像实验(原理篇)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一 灰度变换

灰度线性变换

曝光不足或过度的情况下,图像灰度可能会局限在一个很小的范围内。这时在显示器上看到的是一个模糊不清似乎没有灰度层次的图像。用一个线性单值函数,对每一个像素作扩展变换(线性),将会有效地改变图像视觉效果。

反变换 该方法特别适用于增强嵌入于图像暗色区域的白色或灰色细节。

例:

I=imread('cameraman.tif');

imshow(I);

I=double(I);

I=256-1-I;

I=uint8(I);

figure;

imshow(I);

分段线性变换 增强图形对比度实际是增强原图的各部分反差,也就是增强图像中感兴趣的灰度区域,相对抑制那些不感兴趣的灰度区域。用分段线性法将需要的图像细节灰度级拉伸,增强对比度,将不需要的图像细节灰度级压缩。

(1)扩展感兴趣的,牺牲其他。对于感兴趣的[a,b]区间,采用斜率大于1的线性变换来进行扩展,而把其他区间用a 或b 来表示,变换函数如下:

当f(m,n)

当a<=f(m,n)<=b 时,g(m,n)=c+[(d-c)/(b-a)]*[ f(m,n)-a];

当f(m,n)>b 时,g(m,n)=d 。

(2)扩展感兴趣的,压缩其他。在扩展感兴趣的[a,b]区间的同时,为了保留其他区间的灰度层次,也可以采用其他区间压缩的方法。变换函数如下:

当0<=f(m,n)

当a<=f(m,n)<=b 时,g(m,n)=c+[(d-c)/(b-a)]*[ f(m,n)-a];

当b

例:对于原图pout.tif ,将其小雨30的灰度不变,将30到150的灰度值拉伸到30到200,同时压缩150到255的灰度值到200与255之间

Matlab 程序如下:

%读入并显示原始图像

I=imread('pout.tif');

imshow(I);

I=double(I);

[M,N]=size(I);

%进行灰度变换

for i=1:M

for j=1:N

if I(i,j)<=30

I(i,j)=I(i,j);

elseif I(i,j)<=150

I(i,j)=(200-30)/(150-30)*(I(i,j)-30)+30;

else

I(i,j)=(255-200)/(255-150)*(I(i,j)-150)+200;

end

end

end

%变换后的结果

figure(2);

imshow(uint8(I));

灰度非线性变换

对数变换在有些情况下,如在显示图像的福利叶谱时,其动态范围远超过显示设备的显示能力,此时,仅有图像中最亮部分可在显示设备上显示,而频谱中的低值将看不见。要消除因动态范围太大所引起的失真,一种有效的方法是对原图像的动态范围进行压缩。常用的是借用对数变换形式对动态范围进行调整,数学表达式为

T=clog(1+|s|)

例:设原图像的灰度值取值范围为[0,512],现要将原图的灰度压缩到[0,256];这时就可以使用对数变换,其公式是t=41*log(1+|s|)

Matlab程序如下:

I=imread('pout.tif');

figure;imshow(I);

I=double(I);

I2=41*log(1+I);

I2=uint8(I2);

figure;

imshow(I2);

实验二直方图(灰度)变换与直方图均衡化

图像直方图是图像的重要统计特征。表示了数字图像中每一个灰度级与该灰度级出现的频率间的统计关系。

若一幅图像其像素占有全部可能的灰度级且分布均匀,则这样的图像有高对比度和多变的灰度色调,从而显示出一幅灰度级丰富且动态范围大的图像。其基本思想是将原始图像不均匀的直方图变换为均匀分布的形式,这样可加大灰度值得动态范围,从而达到增强灰度整体对比度的效果。

Matlab程序如下:

I=imread('circuit.tif');

figure;

subplot(221);

imshow(I);

subplot(222);

imhist(I);

I1=histeq(I);

figure;

subplot(221);

imshow(I1);

subplot(222);

imhist(I1);

实验三图像平滑(滤波)

消除图像噪声的工作称之为图像图像平滑(滤波)。平滑的目的有两个:改善图像质量

以及抽出图像特征。平滑可以在空间域进行,也可以在频域进行。

(1) 图像平均

另一种常用的方法是图像平均处理,它常用于在图像采集中去除噪声。设有一幅混入噪声的图像g(x,y),它是由原始图像f(x,y)和噪声图e(x,y)叠加生成的:g(x,y)= f(x,y)+ e(x,y)

假设各点的噪声是互不相关的,且具有零均值。在这种情况下,我们可以通过将一系列图像{i g (x,y)}相加来消除噪声。设将N 幅图像相加求平均得到一幅图像,即:

∑==N i i y x g N y x g 1

_

),(1),(

那它们的期望值为: ),(),(_y x f y x E g =⎭

⎬⎫⎩⎨⎧ 2),(2

)

,(1_y x e y x N g σσ= 其中,2

),(_y x g σ与2),(y x e σ分别是g _

与e 的方差。因此,考虑新图像和噪声图像各自均方差间的关系,有:

Matlab 程序

I=imread('tire.tif');

[M,N]=size(I);

II1=zeros(M,N);

for i=1:16

II(:,:,i)=imnoise(I,'gaussian',0,0.01);

II1=II1+double(II(:,:,i));

if or(or(i==1,i==4),or(i==8,i==16));

figure;

imshow(uint8(II1/i));

end

end

(2)模版平滑

第一幅图为原始图像,第二幅图为迭加了均匀分布随机噪声的8位灰度图象,最后几幅图依次为3x3、5x5、7x7和9x9平滑模板对原始图像进行平滑滤波的结果。由此可见,当所有平滑模板尺寸增大时,对噪声的消除有所增强,但同时所得到的图像变得更加模糊,细节的锐化程度逐步减弱。

相关文档
最新文档