您好,欢迎来到汇意旅游网。
搜索
您的当前位置:首页数字图像处理——实验一 图像增强与平滑

数字图像处理——实验一 图像增强与平滑

来源:汇意旅游网


实验一 图像增强与平滑

一.实验目的及要求

1.了解MATLAB的操作环境和基本功能。

2.掌握MATLAB中图像增强与平滑的函数的使用方法。 3.加深理解图像增强与平滑的算法原理。

二、实验设备

1.计算机;

2.MATLAB6.5及以上; 三、实验内容及结果

(一)研究以下程序,分析程序功能;输入执行各命令行,认真观察命令执行的结果。熟悉程序中所使用函数的调用方法,改变有关参数,观察试验结果。

1.直方图均衡化

分析:直方图均衡化是一种使输出图像直方图近似为均匀分布的变换算法,是一种直方

图修改技术。在MATLAB 中,可以调用函数histeq自动完成图像的直方图均衡化。

[I2,T] = histeq(I); 函数功能:返回从能将图像I的灰度直方图变换成图像I2的直方图变换T。

imwrite(A,filename,fmt), 函数功能:将图像数据写入到图像文件中, 存储在磁盘上。A是图像数据, filename是目标图像名字, fmt是要生成的图片的格式。 imfinfo(filename,fmt) 函数功能:获取一张图片的具体信息。 2.直接灰度变换

分析:J = imadjust(I,[low_in high_in],[low_out high_out],gamma)

[X,map] = imread(filename,fmt) 函数功能:把文件filename读取到X的map向量中。 灰度变换可调整图像的灰度动态范围或图像对比度,是图像增强的重要手段之一。

3.空域平滑滤波(模糊、去噪)

分析:通过观察前三幅图像,可知图像平均是以图像模糊为代价来换取噪声的减少,所选取的邻域面积越大,图像越模糊。

本例中分别给图像加入了均值为0,方差为0.005的高斯噪声,噪声密度为0.02的椒盐噪声,

再进行均值滤波和中值滤波,由得到的结果可知,对于椒盐噪声,中值滤波的效果比均值滤波的效果好,因为椒盐噪声的均值不为0;对于高斯噪声,均值滤波的效果比中值滤波的效果好,因为高斯噪声服从正态分布,均值为0。

4.空域锐化滤波

分析:w=fspecial('laplacian',0) 建立拉普拉斯算子

w8=[1,1,1;1,-8,1;1,1,1] w =

0 1 0 1 -4 1 0 1 0

w8 =

1 1 1 1 -8 1 1 1 1

I1= imfilter(I,w, 'replicate') 'replicate'表示图像大小通过复制外边界的值来扩展 通过观察得到的图像可知,锐化滤波主要用来增加反差,增强被模糊的细节或边缘

(二)采用MATLAB底层函数编程实现 1.灰度变换之动态范围扩展

原理:假定原图像f(x, y)的灰度范围为[a, b],希望变换后图像 g(x, y)的灰度范围扩展至[c, d],则线性变换可表示为:

g(x,y)dc[f(x,y)a]c ba 用MATLAB底层函数编程实现上述变换函数。观察图像‘ pout.tif’的灰度直方图,选择

合适的参数[a, b]、[c, d]对图像‘pout.tif’进行灰度变换,以获得满意的视觉效果。

clear all; close all I = imread('pout.tif');

figure,imhist(I),title('Original image'); a=80;b=220; c=20;d=255;

N=(d-c)/(b-a).*(I-a)+c;

figure,subplot(121),imshow(I),title('Original image'); subplot(122),imshow(N),title('New image'); figure,imhist(N),title('New image');

Original image16001400120010008006004002000050100150200250New image16001400120010008006004002000050100150200250

观察原始图像的直方图知该图像的灰度范围主要集中在75至150,所以也可以就只对这个范围进行扩展. clear all; close all I = imread('pout.tif'); a=75;b=150; c=30;d=220; [M,N]=size(I); for i=1:M for j=1:N

if I(i,j)>=b I1(i,j)=d; elseif I(i,j)>=a

I1(i,j)=(d-c)/(b-a)*(I(i,j)-a)+c; else I1(i,j)=c; end end end

,subplot(121),imshow(I),title('Original image');

subplot(122),imshow(I1),title('New image'); figure,imhist(I1),title('New image');

New image16001400120010008006004002000050100150200250

2.非锐化掩蔽和高升滤波

原理:从原图像中减去其非锐化(平滑过的)图像的过程称为非锐化掩蔽,其基本步骤为:

⑴对原图像进行平滑滤波得到模糊图像f(x,y);

⑵从原图像中减去模糊图像,产生的差值图像称为模板gmask(x,y); ⑶将模板加到原图像上,得到锐化后的图像g(x,y)。 即,

gmask(x,y)f(x,y) - f(x,y)

g(x,y)f(x,y)kgmask(x,y);k1

用MATLAB函数编程实现上述功能。 clear all; close all I = imread('moon.tif'); h1 = ones(5,5) / 25; I1 = imfilter(I,h1);

figure(1), imshow(I), title('Original Image');

figure(2), imshow(I1), title('Filtered Image With 5*5 '); M=imsubtract(I,I1); %也可以用M=I-I1 figure(3), imshow(M), title('mask '); k=2; I2=I+k.*M;

figure(4), imshow(I2), title('New image ');

Filtered Image With 5*5 Original Image

mask New image

四.实验总结

本次实验主要对图像增强与平滑的相关理论知识,通过使用matlab,进行实践。图像增强处理除了可以使用灰度变换,空域滤波,还可以使用频域滤波以及进行彩色增强等。图像平滑用于去噪,对图像高频分量即图像边缘会有影响。对于数字图像处理这门课,还是要多多实践,才能真正掌握相关知识。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- hids.cn 版权所有 赣ICP备2024042780号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务