数字图像实验三图像增强

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

实验三、图像增强

一、实验目的

(1 )熟悉并学会使用MATLAB中图像增强的相关函数。

(2)掌握图像灰度修正、平滑去噪、锐化加强边缘和轮廓的方法,并编程实现。

二、实验主要仪器设备

(1)台式机或笔记本电脑。

(2)MATLAB软件(含图像处理工具箱)。注意:由于软件版本的缘故,软件的界面可能有所差异,读者可以根据实际安装的软件选择相关的命令。

(3)典型的灰度、彩色图像文件。

三、实验原理

数码相机的曝光量指到达DC感光器件上的光线总量,用曝光值(EV)表示。图像的过度曝光、曝光不足时,用曝光补偿调节曝光量,这种功能可修正自动曝光设置值为上升或下降几级。例如,某些DC的EV调整范围为+3~0~-3。尝试对同一景象进行正确曝光、过度曝光和曝光不足三种情况成像情况。

(1)将一幅图像视为一个二维矩阵,用MATLAB进行图像增强。

(2)利用MATLAB图像处理工具箱中的函数imread (读入),imshow (显示),imnoise (加噪),filter2 (滤波)对图像进行去噪处理。

(3)图像灰度修正:灰度变换。对不满意的图像通过线性或非线性灰度映射关系进

行变换,其效果可以得到明显提高。通过分析,会发现变换前后图像的直方图

也发生相应的变化。

(4)图像平滑方法:领域平均、中值滤波。分析图像降质的性质,区分平稳性还是非平稳型、加性还是乘性等,采用合适的去噪方法,可以去除或降低噪声对图像的影响。从频

率域看,平均操作在降低噪声的同时衰减了图像的高频分量

会影响图像细节的重现。中值滤波对某些信号具有不变形,适用于消除图像中的突发干

扰,但如果图像含有丰富的细节,则不宜使用。

(5)图像锐化方法:人眼对目标的边缘和轮廓较为敏感,对图像进行锐化,有助于突出图像的这些特征。从频率域看,锐化提升了图像的高频分量。

四、实验内容

MATLAB图像增强:①图像灰度修正:②图像平滑方法:③图像锐化方法。

五、实验步骤

MATLAB图像增强。

(1)图像灰度修正。测试图像为pout.tif、tire.tif。读入一幅灰度级分布不协调的图像,分析其直方图。根据直方图,设计灰度变换表达式,或调用imadjuct函数。调整变

换表达式的参数,直到显示图像的灰度级分布均衡为止。

(2)不均匀光照的校正。测试图像为pout.tif 。采用分块处理函数blkproc和图像相减函数imsubtract校正图6.6存在的不均匀光照现象。

(3)三段线性变换增强。测试图像为eight.tif。选择合适的转折点,编程进行三段线性变换增强。

(4)图像平滑方法。测试图像为eight.tif。对有噪声图像或人为加入噪声的图像进

行平滑处理。根据噪声的类型,选择不同的去噪方法,如领域平均、中值滤波等方法,

调用filter2、medfilt2 函数,选择不同的滤波模板和参数,观测和分析各种去噪方法对

不同噪声图像处理的去噪或降噪效果。

(5)图像锐化方法。读入一幅边缘模糊地图像,利用罗伯茨梯度对图像进行4种锐化处理,比较各自效果。

六、实验程序

(1)

I = imread('pout.tif);

subplot(2,2,1);

imshow(l);

subplot(2,2,2);

imhist(l);

J = imadjust(l,[0.3 0.7],[]);

subplot(2,2,3);

imshow(J);

subplot(2,2,4);

imhist(J)

(2)

I=imread('rice.p ng');

subplot(2,2,1);

imshow(I);

title('原始图像');

J = imno ise(l,'salt &pepper', 0.1);

subplot(2,2,2);

imshow(J);

title('加噪图像');

blocks=blkproc(J,[128 128],@estibackgrou nd);

backgro un d=imresize(blocks,[256256],'bil in ear');

subplot(2,2,3);

imshow(backgro un d);

title('提取背景');

I2=imsubtract(J,backgro un d);

Iout=medfilt2(l2,[3 3]);

subplot(2,2,4);

imshow(lout,[]);

title('校正图像');

function backgray=estibackgro un d(x,thr) mean x=mea n( x(:)); stdx=std(x(:));

min x=mi n(x(:));

backgray=max(mea nx-thr*stdx, min x);

(3)

f = imread('pout.tif);

[M,N]=size(f);

g=zeros(M,N);

f=double(f);

g=double(g);

k1=mi n(min (f));

k2=max(max(f));

a=k1+50;

b=k2-50;

c=k1-30;

d=k2+20;

for i=1:M

for j=1:N

if((f(i,j)>=a )&&((f(i,j))

g(i,j)=((d-c)/(b-a))*(f(i,j)-a)+c;

end

if(f(i,j)

g(i,j)=c;

end

if(f(i,j)>=b)

g(i,j)=d;

end

end

end

figure;

subplot(1,2,1);

imshow(f,[]);

subplot(1,2,2);

相关文档
最新文档