实验一图像增强.docx

上传人:b****5 文档编号:5614410 上传时间:2022-12-29 格式:DOCX 页数:13 大小:709.46KB
下载 相关 举报
实验一图像增强.docx_第1页
第1页 / 共13页
实验一图像增强.docx_第2页
第2页 / 共13页
实验一图像增强.docx_第3页
第3页 / 共13页
实验一图像增强.docx_第4页
第4页 / 共13页
实验一图像增强.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

实验一图像增强.docx

《实验一图像增强.docx》由会员分享,可在线阅读,更多相关《实验一图像增强.docx(13页珍藏版)》请在冰豆网上搜索。

实验一图像增强.docx

实验一图像增强

 

实验报告

 

实验课程:

光电图像处理

姓名:

xxxx

学号:

xxxxxxxxxxxx

实验地点:

xxxxxxx

指导老师:

xxx

实验时间:

xxxx年x月xx日

 

一.实验名称:

空间图像增强

(一)

二.实验目的

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

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

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

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

三.实验原理

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

1、线性灰度变换

1)当图像成像过程曝光不足或过度,或由于成像设备的非线性和图像记录设备动态范围太窄等因素,都会产生对比度不足的弊病,使图像中的细节分辨不清。

这时可将灰度范围进行线性扩展/压缩,这种处理过程被称为图像的线性灰度变换。

设f(x,y)灰度范围为[a,b],g(x,y)灰度范围为[c,d],则有:

2)分段处理:

将感兴趣的灰度范围线性扩展,相对抑制不感兴趣的灰度区域。

设f(x,y)灰度范围为[0,Mf],g(x,y)灰度范围为[0,Mg],则有:

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

1)对数变换

其中,f为输入灰度级,g为变换后的灰度级,c为一个比例因子。

2)幂律(伽马)变换

其中,f为输入灰度级,g为变换后的灰度级,c为一个比例因子。

g为一

个幂指数,不同的取值范围,将产生不同的变换效果。

(二)直方图处理

1)定义(两种):

a)一幅灰度级范围在[0,L-1]的数字图像的直方图定义为以下离散函数,即:

其中,

是图像中灰度级为

的像素个数。

 

是第k个灰度级,k=0,1,2,…,L-1。

这里,直方图表示图像中不同灰度级像素出现的次数,或者不同灰度级的像素数目。

b)一幅灰度级范围在[0,L-1]的数字图像的直方图定义为以下离散函数,即:

其中,n是图像的像素总数,nk是图像中灰度级为rk的像素个数;rk是第k个灰度级,k=0,1,2,…,L-1。

此处,直方图表示图像中不同灰度级像素出现的概率。

 

四.实验步骤

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

1、线性灰度变换

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

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

线性灰度变换公式如下:

(1)

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

3)显示经过线性灰度变换后的图像及变换曲线图。

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

程序设计流程图:

图1

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

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

2)进行对数变换或伽马变换

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

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

程序设计流程图:

(这里以对数变换为例)

图2

(二)直方图处理

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

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

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

图3

程序流程图:

五.实验结果及分析

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

实验结果:

1、线性灰度变换

图4

图5

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

图6

(二)直方图处理

图7

实验分析:

1.对于对比度低的图像,对其进行线性灰度变换拉升处理,可使处理后的图像对比度极大增强。

从图5中可看到,处理后的图像明显变亮,且更加清晰。

2.非线性灰度变换:

从图6中的对比中可以看出

a)在对数变换中,低灰度区扩展,高灰度区压缩。

b)在伽马变换中,低灰度区压缩,高灰度区扩展。

(前提:

3.直方图均衡化处理,将原来较为狭窄的灰度区间均匀拉伸,使图像对比度增大,图像看起来就更清晰了,利于观察。

它实质上是通过减少图像的灰度级以换取对比度的增大

六.实验心得体会和建议

心得体会:

通过本次实验,巩固和加深了对空域图像增强相关理论知识的理解,同时还学习到了matlab中关于如何读取图像,转化图像,显示图像的技术,并且熟悉了直方图均衡化的相关算法,使我不仅对matlab有了深一步的认识,同时对图像处理产生了浓厚的兴趣,收益匪浅。

建议:

在进行非线性灰度变化时,对于对数变换可以分别使用不同的c值,对于伽马变换可以有规律的改变c值及γ值,通过多次的测量,绘图可以深入理解非线性图像变换的作用。

在进行图像的均衡化处理时,有余力的话可以自行使用histeq()函数再次处理原图像,与之前的均衡化处理进行对比,观察不同,找出各自的优缺点。

七.程序源代码

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

1、线性灰度变换

%读取图像并转化为灰度图

I1=imread('E:

\学科\光电图像处理\实验\1.jpg');

I1=rgb2gray(I1);

%读取灰度图最值,并进行线性变换

a=min(min(I1));b=max(max(I1));

c=0;d=255;

I2=((d-c)/(b-a))*(I1-a)+c;

%显示灰度变换曲线图

x=[a:

b];

y=((d-c)/(b-a))*(x-a)+c;

plot(x,y),title('LinearTransformationCurve'),xlabel('x'),ylabel('y')

%显示原图

figure,subplot(2,2,1);

imshow(I1),title('Originalimage');

%显示变换后的图

subplot(2,2,2);

imshow(I2),title('LinearTransformationimage')

%显示原图直方图

subplot(2,2,3)

imhist(I1),title('OriginalHistogram'),xlabel({'';'Graylevel'}),ylabel('Number')

%显示变换后图像直方图并保存

subplot(2,2,4)

imhist(I2),title('LinearTransformationHistogram')

xlabel({'';'Graylevel'});ylabel('Number')

imwrite(I2,'E:

\学科\光电图像处理\实验\1.1.jpg','jpg')

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

%读取原图像并转为灰度图

I1=imread('E:

\学科\光电图像处理\实验\3.jpg');

I1=rgb2gray(I1);

%显示原图像

subplot(2,3,1)

imshow(I1),title('Originalimage')

%进行对数和伽玛变换

c1=80;c2=1.2;gamma=1.5;

I2=c1*log(1+double(I1));

I3=c2*(double(I1).^gamma);

%分别显示对数和伽玛变换后的图像

subplot(2,3,2)imshow(uint8(I2)),title('LogTransformationImage')

subplot(2,3,3)

imshow(uint8(I3)),title('GammaTransformationImage')

%计算相关变换的曲线

a=min(min(I1));b=max(max(I1));

x=0:

255;

x=[double(a):

0.2:

double(b)];

y1=c1*log(1+x);

y2=c2*(x.^gamma);

%分别画出对数和伽玛变换后的曲线

subplot(2,3,5)

plot(x,y1),title('LogTransformationCurve'),xlabel('x'),ylabel('y')

subplot(2,3,6)

plot(x,y2),title('GammaTransformationCurve'),xlabel('x'),ylabel('y')

%保存灰度图

imwrite(I2,'E:

\学科\光电图像处理\实验\3.1.jpg','jpg')

imwrite(I3,'E:

\学科\光电图像处理\实验\3.2.jpg','jpg')

(二)直方图处理

%读图并显示

I1=imread('pout.tif');

subplot(231),imshow(I1),title('Originalimage')

%统计每一灰度级出现次数

h1=zeros(1,256);

fork=1:

256

h1(k)=length(find(I1==k-1));

end

%画出两种定义下的直方图

r=0:

255;

subplot(232),bar(r,h1),title('OriginalHistogram')

xlim([0,255]),xlabel('Graylevel'),ylabel('Number')

[m,n]=size(I1);

p=h1/(m*n);

subplot(233),bar(r,p),title('OriginalProbabilityHistogram')

xlim([0,255]),xlabel('Graylevel'),ylabel('Probability')

%直方图均衡化并显示出均衡后的图像

p1=p;

p1

(1)=p

(1);

fori=2:

256;

p1(i)=p(i)+p1(i-1);

end

I2=round(p1*256);

I3=I1;

fori=1:

m

forj=1:

n

I3(i,j)=I2(I1(i,j)+1);

end

end

subplot(234),imshow(I3),title('Equalizedimage')

%统计均衡图中的两种定义下的直方图并显示

fork=1:

256

h2(k)=length(find(I3==k));

end

subplot(235),bar(r,h2),title('EqualizedHistogram')

xlim([0,255]),xlabel('Graylevel'),ylabel('Number')

p2=h2/(m*n);

subplot(236),bar(r,p2),title('EqualizedProbabilityHistogram')

xlim([0,255]),xlabel('Graylevel'),ylabel('Probability')

八.思考题

1.为了扩展一幅图像的灰度,使其最低灰度为C、最高灰度为L-1,试给出一个单调的灰度变换函数。

答:

不妨设原图像f(x,y)的灰度最小值为a,最大值为b。

变换后的图像为g(x,y),则有:

上式即为给出的单调灰度变换函数。

2.数字图像经过对数变换与幂律变换后,变换结果有什么差异?

请按不同参数的取值范围进行具体分析。

答:

对数变换:

对数变换的底数越大,对低灰度区扩展和高灰度区压缩就越强,而c则将其倍数放大。

伽马变换:

时,伽马变换的作用与对数变换相近,

时,γ越大,对低灰度区压缩和高灰度区扩展也就越强。

3.从连续函数的概率分布来分析,直方图均衡处理可以使得各个灰度级分布变为均匀分布,即拉平直方图。

而对实际数字图像的处理结果却是一种近似平直,而不是严格意义上的均匀直方图,试说明其理由。

答:

由于图像的灰度值是离散的,并不是从0-255连续变化。

在均衡化处理时,会由于四舍五入的关系,拉直图像时为近似拉直,无法做到完全均匀。

报告评分:

指导教师签字:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1