图像的锐化
(1)图像锐化的目的:
锐化处理的主要目的是突出灰度的过渡部分。一是增强图像的边缘,使模糊的图像变得清晰起来;二是提取目标物体的边界,对图像进行分割,便于目标区域的识别。
(2)图像锐化的原理及方法:
数字图像的锐化可分为线性锐化滤波和非线性锐化滤波。若输出像素(pixels)是输入像素领域像素的线性组合则称为线性滤波,否则称为非线性滤波。
线性锐化滤波器:拉普拉斯算子(Laplace Operator)
拉普拉斯算子是最简单的各向同性微分算子,具有旋转不变性。一个二维图像函数 的拉普拉斯变换是各向同性的二阶导数,定义为:
同理,在y方向上可知:
因此,有
这个公式可由滤波模板来实现,如图所示:
0 | 1 | 0 |
1 | -4 | 1 |
0 | 1 | 0 |
由于拉普拉斯是一种微分算子,强调的是图像中灰度的突变,并不强调灰度级缓慢变化的区域。将原图像与拉普拉斯图像叠加在一起的简单方法可复原背景特性并保持拉普拉斯锐化处理的效果。因此,用拉普拉斯对图像增强的基本方法可表示为:
其中g(x,y)与 f(x,y)分别是锐化后的图像和输入图像。
(3)Matlab源代码
<span style="font-family:Courier New;font-size:12px;">close all
clear all
clc
%彩色图像I是三维矩阵(x,y,color)
I=imread('F:\机器学习\Digital Image Process Matlab\airplane.bmp');%读入图像
H1=rgb2gray(I); %灰度变换
H=double(H1);
Laplace_Operator=[0 1 0; 1 -4 1; 0 1 0];%Laplace Operator
% G_xy=conv2(H,Laplace_Operator,'same');
G_xy=imfilter(H,Laplace_Operator,'replicate');%线性滤波函数 replicate 图像边界填充
subplot(1,2,1);
imshow(H1); title('Input Image');
subplot(1,2,2);
imshow(G_xy); title('Output Image');</span>