空域图像增强报告

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

实验报告

实验课程:光电图像处理姓名:

学号:

实验地点:

指导老师:

实验时间:

一. 实验名称:空间图象增强(一)

二. 实验目的

1. 熟悉和掌握利用matlab 工具进行数字图像的读、写、显示、像素处理等数字图像处理的基本步骤和流程。

2. 熟练掌握各种空间域图像增强的基本原理及方法。

3. 熟悉通过灰度变换方式进行图像增强的基本原理、方法和实现。

4. 熟悉直方图均衡化的基本原理、方法和实现。

三. 实验原理

(一)数字图像的灰度变换

1、线性灰度变换

令原图像灰度范围由[a,b]线性变换后图像灰度范围[c,d],以便于提升原图像的对比度。线性灰度变换公式如下:

()(,),[(,)](,)(,)d f x y b d c g x y f x y a c a f x y b b a

c

f x y a >⎧⎪-⎪=-+≤≤⎨-⎪<⎪⎩ (1)

其中,f (x,y)为原始图像,灰度范围为[a,b],g(x,y)为增强后的数字图像,灰度范围为[c,d]。

注:实验中[a,b]可由实际图像来确定,[c,d]可视具体情况人为给定。

2、非线性灰度变换(对数变换或幂律变换选作其一) 非线性拉伸不是对图像的灰度值进行扩展,而是有选择地对某一灰度范围进行扩展,其他范围的灰度值则可能被压缩。常用的非线性变换:对数变换和指数变换。即

对数变换公式为:

()(,)log 1(,)g x y c f x y =+

幂律(伽马)变换为:

(,)(,)g x y cf x y γ=

(二)直方图处理

对图像2种定义下的直方图统计统计,并分别画出两种定义下的直方图。直方图均衡化主要用于增强动态范围偏小的图像的反差。该方法的基本思想是把原始的直方图变换为均匀分布的形状,这样就增加了像素灰度值的动态范围,从而达到增强图像整体对比度的效果。

四. 实验步骤

(一)数字图像的灰度变换

1、线性灰度变换

1)读取一幅对比度低的灰度图像并显示。

2)以m 文件形式编写matlab 代码,实现数字图像的灰度范围由[a,b]到[c,d]的线性拉伸,以便于提升原图像的对比度。线性灰度变换公式如下:

()(,),[(,)](,)(,)d f x y b d c g x y f x y a c a f x y b b a c

f x y a >⎧⎪-⎪=-+≤≤⎨-⎪<⎪⎩ (1) 其中,f (x,y)为原始图像,灰度范围为[a,b],g(x,y)为增强后的数字图像,灰度范围为[c,d]。注:实验中[a,b]可由实际图像来确定,[c,d]可视具体情况人为给定。

3)显示经过线性灰度变换后的图像,并对变换结果进行必要的分析,画出灰度变换曲线图。

4)以另一个文件名形式保存灰度变换后的图像。

2、非线性灰度变换(对数变换或幂律变换选作其一)

1)读取一幅灰度图像并显示。

2)分别对其进行对数变换或幂律(伽马)变换。即

对数变换公式为:

()(,)log 1(,)g x y c f x y =+ (2)

幂律(伽马)变换为:

(,)(,)g x y cf x y γ= (3)

3)显示变换后的图像,并利用matlab工具画出对数或幂律变换曲线。

4)以另一个文件名形式保存变换后的图像。

(二)直方图处理

1)读取一幅灰度图像并显示原始图像。

2)编写m文件实现对输入图像2种定义下的直方图统计统计(即各个灰度级出现的次数及概率分布),并分别画出两种定义下的直方图。

3)对输入灰度图像进行直方图均衡化处理,分别显示均衡处理前后的图像和对应的直方图。

五.实验结果及分析

(一)数字图像的灰度变换

1、线性灰度变换

实验结果:

2、非线性灰度变换(对数变换或幂律变换选作其一)

(二)直方图处理

结果分析:实验结果与预期一致

六.程序源代码

(一)数字图像的灰度变换

1、线性灰度变换

程序源代码:

I1=imread('T1.jpg');

I1=rgb2gray(I1);

subplot(221);

imshow(I1);

a=min(min(I1));

b=max(max(I1));

B=(250-10)/double((b-a))*(I1-a)+10;

subplot(222);

imshow(B);

subplot(223);

imhist(I1);

subplot(224);

imhist(B);

2、非线性灰度变换(对数变换或幂律变换选作其一)subplot(231)

I=imread('T2.jpg');

I=rgb2gray(I);

imshow(I);

a=min(min(I));

b=max(max(I));

c=2,r=0.8

G=uint8(12*log(1+double(I))); subplot(232)

imshow(G);

subplot(233)

z=0:1:1000;

plot(z,12*log(double(z)));

subplot(234)

imhist(I);

subplot(235)

imhist(G);

(二)直方图处理

I=imread('pout.tif');

[height,width]=size(I);

subplot(231);

imshow(I),title('root image') subplot(232)

imhist(I);title('原始直方图');

L=256;

K=zeros(1,L);

for i=1:height

for j=1:width

K(I(i,j)+1)=K(I(i,j)+1)+1 end

end

subplot(233)

bar(K);

pk=K;

for i=1:L

pk(i)=K(i)/double(height*width) end

subplot(234)

bar(pk)

ps=pk

ps(1)=pk(1)

for i=2:L

ps(i)=ps(i-1)+pk(i)

相关文档
最新文档