一般来说,图像的能量主要集中在其低频部分,噪声所在的频段主要在高频段,同时图像边缘信息也主要集中在其高频部分。这将导致原始图像在平滑处理之后,图像边缘和图像轮廓模糊的情况出现(平滑可以认为是去除噪声,这样也就模糊了图像的边缘信息)。为了减少这类不利效果的影响,就需要利用图像锐化技术,使图像的边缘变得清晰。图像锐化处理的目的是为了使图像的边缘、轮廓线以及图像的细节变得清晰,经过平滑的图像变得模糊的根本原因是因为图像受到了平均或积分运算,因此可以对其进行逆运算(如微分运算)就可以使图像变得清晰。微分运算是求信号的变化率,由傅立叶变换的微分性质可知,微分运算具有较强高频分量作用。从频率域来考虑,图像模糊的实质是因为其高频分量被衰减,因此可以用高通滤波器来使图像清晰。但要注意能够进行锐化处理的图像必须有较高的性噪比,否则锐化后图像性噪比反而更低,从而使得噪声增加的比信号还要多,因此一般是先去除或减轻噪声后再进行锐化处理。

模板( ( 也称 样板 或 窗) ) 是实现空域滤波的基本工具。
模板运算的基本思路 :将赋予某个像素的值作为它本身灰度值和其相邻像素灰度值的函数。

模板卷积在空域实现的 主要步骤 如下:

  1. 将模板在图中漫游,并将模板中心与图中某个像素位置重合;
  2. 将模板上的各个系数与模板下各对应像素的灰度值相乘;
  3. 将所有乘积相加(为保持灰度范围,常将结果再除以模板的系数个数)
  4. 将上述运算结果(模板的输出响应)赋给图中对应模板 中心位置的像素

空域滤波增强的目的

主要是平滑图像或锐化图像,所以空域滤波器可分为 平滑滤波器 和锐化滤波器 两类

滤波器分类

  1. 平滑滤波器:模糊,消除噪声能减弱或消除图像中的高频率分量,但不影响低频率分量。 高频对应图像中的区域边缘等灰度值具有较大较快变化的部分,平滑滤波器将这些分量滤去可减少局部灰度的起伏,使图像变得比较平滑
  2. 锐化滤波器:增强被模糊的细节减弱或消除图像中的低频率分量,但不影响高频率分量。 低频分量对应图像中灰度值缓慢变化的区域,锐化滤波器将这些分量滤去,可使图像反差增加,边缘明显

部分使用的函数说明

Fspecial函数

用于创建预定义的滤波算子,其语法格式为:
h = fspecial(type)
h = fspecial(type,parameters,sigma)

参数type制定算子类型,parameters指定相应的参数,具体格式为:
type=‘average’,为均值滤波,参数为n,代表模版尺寸,用向量表示,默认值为[3,3]。
type= ‘gaussian’,为高斯低通滤波器,参数有两个,n表示模版尺寸,默认值为[3,3],sigma表示滤波器的标准差,单位为像素,默认值为 0.5。
type= ‘laplacian’,为拉普拉斯算子,参数为alpha,用于控制拉普拉斯算子的形状,取值范围为[0,1],默认值为0.2。
type= ‘log’,为拉普拉斯高斯算子,参数有两个,n表示模版尺寸,默认值为[3,3],sigma为滤波器的标准差,单位为像素,默认值为0.5
type= ‘prewitt’,为prewitt算子,用于边缘增强,无参数。
type= ‘sobel’,为著名的sobel算子,用于边缘提取,无参数。
type= ‘unsharp’,为对比度增强滤波器,参数alpha用于控制滤波器的形状,范围为[0,1],默认值为0.2。

imfilter函数

函数名称:imfilter
函数语法:g=imfilter(f,w,filtering_mode,boundary_options,size_optinos)
函数功能:对任意类型数组或多维图像进行滤波
参数介绍:f是输入图像,w为滤波模板,g为滤波结果;表1-1总结了其他参数的含义。
在这里插入图片描述

G=fspecial(‘gaussian’,5)%参数为5,表示产生55的gaussian矩阵,如果没有,默认为33的矩阵。

0.0000 0.0000 0.0002 0.0000 0.0000 0.0000 0.0113 0.0837 0.0113 0.0000 0.0002 0.0837 0.6187 0.0837 0.0002 0.0000 0.0113 0.0837 0.0113 0.0000 0.0000 0.0000 0.0002 0.0000 0.0000

与锐化相反,就是滤掉高频分量,从而达到减少图象噪声,使图片变得有些模糊。因此又称为低通滤波。
介于之前做过相关的文章这里就不展开说明了
使用均值滤波和中值滤波来验证线型的和非线性不同模板大小的滤波效果

均值滤波和和中值滤波的对比

均值滤波和和中值滤波都可以起到平滑图像,虑去噪声的功能。均值滤波采用线性的方法,平均整个窗口范围内的像素值,均值滤波本身存在着固有的缺陷,即它不能很好地保护图像细节,在图像去噪的同时也破坏了图像的细节部分,从而使图像变得模糊,不能很好地去除噪声点。均值滤波对高斯噪声表现较好,对椒盐噪声表现较差。中值滤波采用非线性的方法,它在平滑脉冲噪声方面非常有效,同时它可以保护图像尖锐的边缘,选择适当的点来替代污染点的值,所以处理效果好,对椒盐噪声表现较好,对高斯噪声表现较差。

clc;clear all;close all;
M=imread('../img1.jpg'); %读取图像
[ROW,COL, DIM] = size(M);%保存图像尺寸
subplot(3,3,1),imshow(M),title('原始图像');%显示原始图像
P1=imnoise(M,'gaussian',0.05); %加入高斯躁声
subplot(3,3,2),imshow(P1),title('加入高斯躁声 0.05');%加入高斯躁声后显示图像
P2=imnoise(M,'gaussian',0.5); %加入高斯躁声
subplot(3,3,3),imshow(P2),title('加入高斯躁声 0.5');%加入高斯躁声后显示图像
gauss_img1(:,:,1)=medfilt2(P1(:,:,1)); %对高斯躁声中值滤波
gauss_img1(:,:,2)=medfilt2(P1(:,:,2)); %对高斯躁声中值滤波
gauss_img1(:,:,3)=medfilt2(P1(:,:,3)); %对高斯躁声中值滤波
subplot(3,3,4),imshow(gauss_img1),title('3X3高斯躁声中值滤波 0.05');
gauss_img2(:,:,1)=medfilt2(P2(:,:,1)); %对高斯躁声中值滤波
gauss_img2(:,:,2)=medfilt2(P2(:,:,2)); %对高斯躁声中值滤波
gauss_img2(:,:,3)=medfilt2(P2(:,:,3)); %对高斯躁声中值滤波
subplot(3,3,5),imshow(gauss_img2),title('3X3高斯躁声中值滤波 0.5');
gauss_img3(:,:,1)=medfilt2(P2(:,:,1),[5 5]); %对高斯躁声中值滤波
gauss_img3(:,:,2)=medfilt2(P2(:,:,2),[5 5]); %对高斯躁声中值滤波
gauss_img3(:,:,3)=medfilt2(P2(:,:,3),[5 5]); %对高斯躁声中值滤波
subplot(3,3,6),imshow(gauss_img3),title('5X5高斯躁声中值滤波 0.5');
A=fspecial('average',3); %生成系统预定义的3X3滤波器
mean_filter_img1(:,:,1)=filter2(A,P1(:,:,1))/255.;     
mean_filter_img1(:,:,2)=filter2(A,P1(:,




    
:,2))/255.; 
mean_filter_img1(:,:,3)=filter2(A,P1(:,:,3))/255.; 
subplot(3,3,7),imshow(mean_filter_img1),title('3X3高斯躁声均值滤波 0.05');
mean_filter_img2(:,:,1)=filter2(A,P2(:,:,1))/255.;     
mean_filter_img2(:,:,2)=filter2(A,P2(:,:,2))/255.; 
mean_filter_img2(:,:,3)=filter2(A,P2(:,:,3))/255.; 
subplot(3,3,8),imshow(mean_filter_img2),title('3X3高斯躁声均值滤波 0.5');
A=fspecial('average',5); %生成系统预定义的5X5滤波器
mean_filter_img3(:,:,1)=filter2(A,P2(:,:,1))/255.;     
mean_filter_img3(:,:,2)=filter2(A,P2(:,:,2))/255.; 
mean_filter_img3(:,:,3)=filter2(A,P2(:,:,3))/255.; 
subplot(3,3,9),imshow(mean_filter_img3),title('5X5高斯躁声均值滤波 0.5');
disp('====================finish================'); 
clc;clear all;close all;
M=imread('../gray1.jpg'); %读取图像
M=rgb2gray(M);
[ROW,COL, DIM] = size(M);%保存图像尺寸
subplot(3,3,1),imshow(M),title('原始图像');%显示原始图像
P1=imnoise(M,'gaussian',0.05); %加入高斯躁声
subplot(3,3,2),imshow(P1),title('加入高斯躁声 0.05');%加入高斯躁声后显示图像
P2=imnoise(M,'gaussian',0.5); %加入高斯躁声
subplot(3,3,3),imshow(P2),title('加入高斯躁声 0.5');%加入高斯躁声后显示图像
gauss_img1=medfilt2(P1); %对高斯躁声中值滤波
subplot(3,3,4),imshow(gauss_img1),title('3X3高斯躁声中值滤波 0.05');
gauss_img2=medfilt2(P2); %对高斯躁声中值滤波
subplot(3,3,5),imshow(gauss_img2),title('3X3高斯躁声中值滤波 0.5');
gauss_img3=medfilt2(P2,[5 5]); %对高斯躁声中值滤波
subplot(3,3,6),imshow(gauss_img3),title('5X5高斯躁声中值滤波 0.5');
A=fspecial('average',3); %生成系统预定义的3X3滤波器
mean_filter_img1=filter2(A,P1)/255.;     
subplot(3,3,7),imshow(mean_filter_img1),title('3X3高斯躁声均值滤波 0.05');
mean_filter_img2=filter2(A,P1)/255.;     
subplot(3,3,8),imshow(mean_filter_img2),title('3X3高斯躁声均值滤波 0.5');
A=fspecial('average',5); %生成系统预定义的5X5滤波器
mean_filter_img3=filter2(A,P1)/255.;     
subplot(3,3,9),




    
imshow(mean_filter_img3),title('5X5高斯躁声均值滤波 0.5');
disp('====================finish================'); 
%% 提取模板
L0=[0 1 0;1 -4 1;0 1 0];
L1=[-1 -1 -1;-1 8 -1;-1 -1 -1];
%% 增强模板
L2=[-1 -1 -1;-1 9 -1;-1 -1 -1];
L3=[-1 -1 -1;-1 10 -1;-1 -1 -1]/2;
L4=[-1 -1 -1;-1 11 -1;-1 -1 -1]/3;
%% 处理
I=imread('../img1.jpg'); %读取图像
[ROW,COL, DIM] = size(I);%保存图像尺寸
subplot(231),imshow(I),title('原始图像');%显示原始图像
%A=fspecial('laplacian'); %生成系统预定义的3X3滤波器
Laplacian_img1=My_filter(I,L0);
subplot(232),imshow(Laplacian_img1),title('Laplacian算子 L0');
Laplacian_img2=My_filter(I,L1);
subplot(233),imshow(Laplacian_img2),title('Laplacian算子 L1');
Laplacian_img3=My_filter(I,L2);
subplot(234),imshow(Laplacian_img3),title('Laplacian算子 L2');
Laplacian_img4=My_filter(I,L3);
subplot(235),imshow(Laplacian_img4),title('Laplacian算子 L3');
Laplacian_img5=My_filter(I,L4);
subplot(236),imshow(Laplacian_img5),title('Laplacian算子 L4');

效果奉上:
在这里插入图片描述
在这里插入图片描述

普瑞斯特算子

clc;clear all;close all;
%% 水平 垂直
Prewitt_x=[1 1 1;0 0 0;-1 -1 -1];
Prewitt_y=[-1 0 1;-1 0 1;-1 0 1];
%% 处理
I=imread('../gray4.jpg'); %读取图像
[ROW,COL, DIM] = size(I);%保存图像尺寸
subplot(131),imshow(I),title('原始图像');%显示原始图像
%A=fspecial('laplacian'); %生成系统预定义的3X3滤波器
Sobel_img1=My_filter(I,Prewitt_x);
subplot(132),imshow(Sobel_img1),title('水平 Prewitt_x');
Sobel_img2=My_filter(I,Prewitt_y);
subplot(133),imshow(Sobel_img2),title('垂直 Prewitt_y');

Sobel算子

clc;clear all;close all;
%% 水平 垂直
Sobel_x=[1 2 1;0 0 0;-1 -2 -1];
Sobel_y=[-1 0 1;-2 0 2;-1 0 1];
%% 处理
I=imread('../gray3.jpg'); %读取图像
[ROW,COL, DIM] = size(I);%保存图像尺寸
subplot(131),imshow(I),title('原始图像');%显示原始图像
%A=fspecial('laplacian'); %生成系统预定义的3X3滤波器
Sobel_img1=My_filter(I,Sobel_x);
subplot(132),imshow(Sobel_img1),title('水平 Sobel_x');
Sobel_img2=My_filter(I,Sobel_y);
subplot(133),imshow(Sobel_img2),title('垂直 Sobel_y');
                    平滑与锐化相反,就是滤掉高频分量,从而达到减少图象噪声,使图片变得有些模糊。因此又称为低通滤波。锐化通过增强高频分量来减少图象中的模糊,因此又称为高通滤波。锐化处理在增强图象边缘的同时增加了图象的噪声。...
(2)采用理想高通滤波器对图像滤波,并显示滤波结果;
观察截止频率 D0 分别为15、30、80时,理想高通滤波的结果。
(3)采用二阶巴特沃斯高通滤波器对图像滤波,并显示滤波结果;
观察截止频率 D0 分别为15、30、80时,二阶巴特沃斯高通滤波的结果。
(4)采用二阶指数高通滤波器对图像滤波,并显示滤波结果;
				
文章目录数字图像处理 原理与实践(MATLAB) 入门教学 实验三 图像平滑与图像锐化实验要求知识点实验内容1、采用二维中值滤波函数medfilt2对受椒盐噪声干扰的图像滤波,窗口分别采用3 * 3,5 * 5,7 * 72、采用MATLAB中的函数filter2对受噪声干扰的图像进行均值滤波3、采用三种不同算子对图像进行锐化处理总结比较不同平滑滤波器的处理效果,分析其优缺点比较不同锐化滤波器的处理效果,分析其优缺 数字图像处理 原理与实践(MATLAB) 入门教学 实验三 图像平滑与图像锐化
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Ma...
图像锐化处理的MATLAB实现 目录1、关于一阶微分锐化1)单方向一阶锐化???? 水平方向的一阶锐化???? 垂直方向的一阶锐化2)无方向一阶锐化???? 交叉微分锐化???? Sobel锐化???? Priwitt锐化2、关于二阶微分锐化???? Laplacian 算法???? Wallis算法 1、关于一阶微分锐化 1)单方向一阶锐化 ???? 水平方向的一阶锐化 代码实现: % 水平方向一阶微分锐化 im = imread('img\Grayblur6.png');imshow(im);tit
图像增强算法的基本原理出发,归纳总结了近年来应用比较广泛的空域和频域两大 类图像增强算法,包括直方图均衡图像增强算法、灰度变换图像增强算法分别详细介绍了它们的基本概念和相关定义并简述了其浅层面的优缺点。另外采用主观和客观的评价 方法对这些算法的增强效果进行了对比和分析,并对各算法的优缺点、适用场景和复杂度进行了对比分析,以更深 入研究各个图像增强算法的隐含有用信息,以找出鲁棒性、适用性更强的图像增强方法
1、熟悉空域和频域增强方法,理解并掌握常用平滑和锐化方法。1)对一幅带有噪声图像采用空域和频域的滤波方法实现平滑处理,空域和频域至少选择一种方法自己编写代码实现,并比较、分析不同窗口大小的滤波方法对其结果的影响(图自选); 2)对1)经过平滑处理过后的图像进行锐化处理,要求分别采用空域和频域的滤波方法实现锐化处理,空域和频域至少选择一种方法自己编写代码实现; 3)写出实验报告。报告要求:有实验目的,实验内容,实验过程,实验小结和较详细的图文说明。...
CMOS输入的图像将引入各种噪声,有随机噪声、量化噪声、固定模式噪声等。ISP降噪处理过程中,势必将在降噪的同时,把一些图像细节给消除了,导致图像不够清晰。为了消除降噪过程中对图像细节的损失,需要对图像进行锐化处理,还原图像的相关细节。如下图所示,左图是未锐化的原始图像,右图是经过锐化之后的图像。 反面就是“图像平滑” 1、掌握频率域滤波的基本概念和常用方法; 2、利用MATLAB进行频率域滤波,观察图像平滑和图像锐化的效果,加深对频率域滤波的理解; 3、掌握图像FFT变换与DCT变换后进行频率域滤波的不同; 4、掌握低通滤波与高通滤波原理,对DCT变换后的图像进行低通滤波和高通滤波。 二、实验原理 图像的频率是表征图像中灰度变化剧烈程度的指标,是灰度在平面空间上的梯度。频率直接关系到图像空间灰度的...
2. MATLAB中图像的读取和显示 3. MATLAB中图像的基本操作,如缩放、旋转、翻转、剪切等 4. MATLAB中图像的基本处理,如灰度化、二值化、反转、平滑、锐化等 5. MATLAB中图像的特征提取和分析,如边缘检测、角点检测、轮廓提取等 6. MATLAB中图像的基本分类,如基于像素值的分类、基于形状的分类等 7. MATLAB中图像处理的实际应用,如图像增强、图像修复、图像识别等。 请问您需要了解哪方面的内容呢?