内容发布更新时间 : 2024/11/2 16:39:27星期一 下面是文章的全部内容请认真阅读。
4、熟悉数字图像处理常用函数的使用,调出帮助文档查看其各种不同用法。 方法:选择函数(函数所在区变暗),点右键弹出菜单,选择“Help on Selection”
五、实验总结
分析图像的代数运算结果,分别陈述图像的加、减、乘、除运算可能的应用领域。
实验四 常用图像增强方法
一、实验目的
1、熟悉并掌握MATLAB图像处理工具箱的使用;
2、理解并掌握常用的图像的增强技术。 二、实验环境
MATLAB 6.5以上版本、WIN XP或WIN2000计算机 三、相关知识 1 imnoise
imnoise函数用于对图像生成模拟噪声,如: i=imread('e:\\w01.tif');
j=imnoise(i,'gaussian',0,0.02);模拟均值为0方差为0.02的高斯噪声, j=imnoise(i,'salt&pepper', 0.04) 模拟叠加密度为0.04的椒盐噪声 2 fspecial
fspecial函数用于产生预定义滤波器,如: h=fspecial('sobel');%sobel水平边缘增强滤波器 h=fspecial('gaussian');%高斯低通滤波器 h=fspecial('laplacian');%拉普拉斯滤波器 h=fspecial('log');%高斯拉普拉斯(LoG)滤波器 h=fspecial('average');%均值滤波器
3 基于卷积的图像滤波函数
imfilter函数, filter2函数,二维卷积conv2滤波,都可用于图像滤波,用法类似,如:
i=imread('e:\\w01.tif');
h=[1,2,1;0,0,0;-1,-2,-1];%产生Sobel算子的水平方向模板
j=filter2(h,i); 或者:
h = fspecial(‘prewitt’) I = imread('cameraman.tif'); imshow(I);
H = fspecial('prewitt‘); %预定义滤波器 M = imfilter(I,H); imshow(M) 或者:
i=imread('e:\\w01.tif'); h=[1,1,1;1,1,1;1,1,1]; h=h/9; j=conv2(i,h);
4 其他常用滤波举例 (1)中值滤波
medfilt2函数用于图像的中值滤波,如: i=imread('e:\\w01.tif');
j=medfilt2(i,[M N]);对矩阵i进行二维中值滤波,领域为M*N,缺省值为3*3
(2)利用拉氏算子锐化图像, 如: i=imread('e:\\w01.tif'); j=double(i);
h=[0,1,0;1,-4,0;0,1,0];%拉氏算子 k=conv2(j,h,'same');
三、实验步骤
1、采用二维中值滤波函数medfilt2对受椒盐噪声干扰的图像滤波,窗口分别采用3*3,5*5,7*7
I = imread('f:\\lena.png');
J = imnoise(I,'salt & pepper',0.04);
K1 = medfilt2(J,[3 3]);%对矩阵i进行二维中值滤波,领域为3*3 K2 = medfilt2(J,[5 5]); K3 = medfilt2(J,[7 7]);
subplot(2,2,1);imshow(J);title('椒盐噪声干扰图像')
subplot(2,2,2);imshow(K1);title('领域为3*3二维中值滤波') subplot(2,2,3);imshow(K2);title('领域为5*5二维中值滤波') subplot(2,2,4);imshow(K3);title('领域为7*7二维中值滤波')
2、采用MATLAB中的函数filter2对受噪声干扰的图像进行均值滤波 I = imread('f:\\lena.png');
j=imnoise(i,'gaussian',0,0.02);%模拟均值为0方差为0.02的高斯噪声,
M= filter2(fspecial('average',9),J)/255; %模板尺寸为9 subplot(2,1,1);imshow(j);title('噪声干扰图像') subplot(2,1,2);imshow(M);title('改进后的图像')
3、采用三种不同算子对图像进行锐化处理。 i=imread('f:\\1.jpg') I=rgb2gray(s)
H=fspecial('sobel')%应用Sobel算子锐化图像 I1=filter2(H,I)%Sobel算子滤波锐化
H=fspecial('prewitt')%应用prewitt算子锐化图像 I2=filter2(H,I)%prewitt算子滤波锐化 H=fspecial('log')%应用log算子锐化图像 I3=filter2(H,I)%log算子滤波锐化
subplot(2,2,1);imshow(i);title('原图像')
subplot(2,2,2);imshow(I1);title('Sobel算子锐化图像') subplot(2,2,3);imshow(I2);title('prewitt算子锐化图像') subplot(2,2,4);imshow(I3);title('log算子锐化图像')