MATLAB实现图像去噪 滤波 锐化 边缘检测
这段代码主要展示了图像处理的一系列步骤,包括图像读取、添加噪声、去噪、图像锐化、直方图均衡化以及边缘检测。1.读取图像: I=imread('1.jpg');
try
I=rgb2gray(I);
end这里首先读取名为 "1.jpg" 的图像文件。然后,使用 rgb2gray 函数将彩色图像转换为灰度图像,但由于可能出现错误(比如图像本身就是灰度图像),用了 try 和 end 来捕获并处理这个潜在的错误。
2.添加椒盐噪声: I=imnoise(I,'salt & pepper',0.04);使用 imnoise 函数向图像中添加密度为 0.04 的椒盐噪声。
3.显示原始图像: figure
imshow(I)
title('原图')通过 imshow 函数显示添加噪声后的原始图像。
4.图像去噪: I=medfilt2(I,);使用 medfilt2 函数对受椒盐噪声干扰的图像进行中值滤波去噪处理。
5.图像锐化: =size(I);
f=double(I);
g=fft2(f);
g=fftshift(g);
n=2;
D0=3;
for i=1:M
for j=1:N
% 省略了对频域信号进行巴特沃斯滤波的操作
% 这部分代码主要是在频域进行滤波处理以实现图像的锐化
end
end
result=ifftshift(output);
I=ifft2(result);
I=uint8(real(I));这一部分通过傅立叶变换、频域处理(采用了巴特沃斯滤波器)以及反变换实现图像的锐化操作。
6.直方图均衡化: I=histeq(I);使用 histeq 函数对图像进行直方图均衡化处理,以增强图像的对比度和亮度分布。
7.边缘检测: I1=edge(I,'prewitt');
I2=edge(I,'roberts');
I3=edge(I,'sobel');使用不同的边缘检测算子(Prewitt、Roberts、Sobel)对经过处理后的图像进行边缘检测,产生三幅不同的边缘强度图像。
这段代码展示了图像处理领域中常见的一些基本操作,包括噪声处理、滤波、频域处理、直方图均衡化以及边缘检测。
页:
[1]