主要内容包括:梯度算子;Roberts算子;Prewitt算子;Sobel算子;梯度输出公式;Laplacian增强算子。
五. 图像空间域锐化算法
目的:增强图像的边缘或者轮廓。
数学意义:通过微分使得图像边缘更加突出、清晰。因为图像边缘灰度变化率更高,显然微分后得到的值相较于其它部分更大。
5.1 梯度
数学定义:
对于图像f(x,y),在点(x,y)处的梯度定义为:
∇f=grad(f)=[gxgy]=⎡⎢⎣∂f(x,y)∂x∂f(x,y)∂y⎤⎥⎦(1)
本质上,梯度是一个向量,其大小为:
M(x,y)=√g2x+g2y(2)
其方向为:
θ=arctan(gxgy)(3)
5.2 梯度算子
差分公式:
在离散图像中适用一阶差分来近似一阶偏导数,公式如下:
gx=f(x+1,y)−f(x,y)gy=f(x,y+1)−f(x,y)(4)
模板:
模板使用方法:分别使用相对位置的数字乘上对应位置的灰度值,然后相加。
gx:
[−11]
gy:
[−11]
简化计算:
为了简化计算流程,尝试用以下两种公式代替数学上定义的向量计算公式:
-
grad(f)=Max(|gx|,|gy|)(5)
-
grad(f)=|gx|+|gy|(6)
5.3 Roberts算子
差分公式:
gx=f(x+1,y+1)−f(x,y)gy=f(x+1,y)−f(x,y+1)(7)
对应模板:
模板使用方法:分别使用相对位置的数字乘上对应位置的灰度值,然后相加。
gx:
[−1001]
gy:
[0−110]
5.4 Prewitt算子
差分公式:
gx=f(x+1,y−1)−f(x−1,y−1)+f(x+1,y)−f(x−1,y)+f(x+1,y+1)−f(x−1,y+1)gy=f(x−1,y+1)−f(x−1,y−1)+f(x,y+1)−f(x,y−1)+f(x+1,y+1)−f(x+1,y−1)(8)
对应模板:
gx:
⎡⎢⎣−1−1−1000111⎤⎥⎦
gy:
⎡⎢⎣−101−101−101⎤⎥⎦
5.5 Sobel算子
对应模板:
gx:
⎡⎢⎣−1−2−1000121⎤⎥⎦
gy:
⎡⎢⎣−101−202−101⎤⎥⎦
5.6 不同梯度输出图像
不同梯度:
-
g(x,y)=grad(f):
增强的图像仅显示灰度变化比较陡的边缘轮廓,而灰度变化比较平缓或均匀的区域则呈黑色。
-
g(x,y)={grad(f),grad(f)≥Tf(x,y),其它:
适当选取T,可以使得明显的边缘轮廓得到突出,又不会破坏原来灰度变化比较平缓的背景。
-
g(x,y)={LG,grad(f)≥Tf(x,y),其它:
LG是一个固定值,将明显的边缘使用一个固定的灰度值来表示。
-
g(x,y)={grad(f),grad(f)≥TLB,其它:
LB是一个固定值,将图像较为平滑的部分(也就是锐化后的背景)使用一个固定的灰度值来表示。便于研究边缘灰度值的变化。
-
g(x,y)={LG,grad(f)≥TLB,其它:
LG、LB均为固定值,可以生成二值图像,便于研究边缘所在位置。
输出图像案例:
5.7 Laplacian增强算子
原理:使用二阶偏导数,可以更加精确的过滤背景,仅求出边缘部分。
作用:通过求出的边缘图像与原始图像叠加,能够得到对图像边缘进行增强的锐化图像。
二阶差分公式:
∂2f(x,y)∂x2=f(x+1,y)+f(x−1,y)−2f(x,y)∂2f(x,y)∂xy=f(x,y+1)+f(x,y−1)−2f(x,y)(9)
算子公式:
∇2f(x,y)=f(x+1,y)+f(x−1,y)+f(x,y+1)+f(x,y−1)−4f(x,y)(10)
算子的四种常用模板表达:
-
⎡⎢⎣0101−41010⎤⎥⎦
-
⎡⎢⎣1111−81111⎤⎥⎦
-
⎡⎢⎣0−10−14−10−10⎤⎥⎦
-
⎡⎢⎣−1−1−1−18−1−1−1−1⎤⎥⎦
锐化公式:
g(x,y)=f(x,y)−α∇2f(x,y)(11)
其中:α视我们采用的算子模板来决定:
- 使用前两个算子模板:alpha=1
- 使用后两个算子模板:alpha=−1
最终的Laplacian锐化模板:
实际操作步骤:
- 选定Laplacian算子模板。
- 根据选定的Laplacian算子模板,选择相应的α,构造Laplacian锐化模板。
- 遍历图像,对所有像素求二阶差分。
- 边界图像不求直接归0,或填充后再求。
- 二阶差分小于0的注意归0。
- 得到了加重边缘的图像,将其与原始图像相加,得到锐化图像。(注意越界的像素灰度设为上限值,一般是255)
Laplacian锐化案例:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!