【图像处理】图像锐化

图像锐化 (image sharpening) 是补偿图像的轮廓,增强图像的边缘及灰度跳变的部分,使图像变得清晰,分为空间域处理和频域处理两类。图像锐化是为了突出图像上地物的边缘、轮廓,或某些线性目标要素的特征。这种滤波方法提高了地物边缘与周围像元之间的反差,因此也被称为边缘增强。

USM锐化

USM 锐化增强算法(Unsharpen Mask),是图像卷积处理实现锐化常用的算法,这种锐化的方法就是对原图像先做一个高斯模糊,然后用原来的图像减去一个系数乘以高斯模糊之后的图像,然后再把值Scale到0~255的RGB像素值范围之内。基于USM锐化的方法可以去除一些细小的干扰细节和噪声,比一般直接使用卷积锐化算子得到的图像锐化结果更加真实可信。

# USM锐化
for i in range(3):
    gau = cv2.GaussianBlur(img[:, :, i], (0, 0), 5)
    dst[:, :, i] = cv2.addWeighted(img[:, :, i], 1.5, gau, -0.5, 0)

Laplace锐化

Laplace算子属于空间锐化滤波操作。由于Laplacian算子使用了图像梯度,它内部的代码其实是调用了Sobel算子的。Laplace算子的滤波器为:

cv2.addWeighted()函数可以将两张相同shape的图片按权重进行融合

dst = src1 * alpha + src2 * beta + gamma

# Laplace锐化
for i in range(3):
    Lap = cv2.Laplacian(img[:, :, i], -1)
    dst[:, :, i] = cv2.addWeighted(img[:, :, i], 1, Lap, -0.5, 0)

卷积核锐化

卷积核大致和拉普拉斯卷积核类似,具体如下:

# 卷积核锐化
kernel = np.array([[0, -1, 0], [-1, 5, -1], [0, -1, 0]], np.float32)
for i in range(3):
    dst[:, :, i] = cv2.filter2D(img[:, :, i], -1, kernel)

运算效果

第一张为原图,后面分别采用上面三种锐化算法的测试结果。

  • 5
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值