本文主要是介绍[C#][opencvsharp]winform实现自定义卷积核锐化和USM锐化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
【锐化介绍】
图像锐化(image sharpening)是补偿图像的轮廓,增强图像的边缘及灰度跳变的部分,使图像变得清晰,分为空间域处理和频域处理两类。图像锐化是为了突出图像上地物的边缘、轮廓,或某些线性目标要素的特征。这种滤波方法提高了地物边缘与周围像元之间的反差,因此也被称为边缘增强。
一、为什么要用USM锐化?
上一篇讲拉普拉斯锐化,不能提供精细的调整,在photoshop中采用USM(Unsharp mask)可以进一步优化。目的是:
- 可以微调锐化程度
- 设置锐化阈值,想针对边界更清晰的点锐化处理,这个清晰程度就是锐化阈值
二、USM锐化原理
第一步:对原图进行模糊,然后用原图 - 模糊图,得到一张差值,差值即像素颜色突变的点,即边界
第二步:原图 + 差值,即边界处得到增强
图像卷积处理实现锐化有一种常用的算法叫做Unsharpen Mask方法,这种锐化的方法就是对原图像先做一个高斯模糊,然后用原来的图像减去一个系数乘以高斯模糊之后的图像,然后再把值Scale到0~255的RGB像素值范围之内。基于USM锐化的方法可以去除一些细小的干扰细节和噪声,比一般直接使用卷积锐化算子得到的图像锐化结果更加真实可信。USM锐化公式表示如下:
(源图像– w*高斯模糊)/(1-w);其中w表示权重(0.1~0.9),默认为0.6
二:实现步骤
1. 读入图像的像素数据
2. 对图像像素数据实现高斯模糊,
3. 根据输入参数w,对图像上的每个像素点,使用USM锐化公式计算每个像素点锐化之后的像素
4. 构建一张新的输出图像,返回显示
【界面展示】
【效果展示】
自定义卷积核锐化
USM锐化
【测试环境】
vs2019,netframework4.7.2,opencvsharp4.8.0
【源码下载】
这篇关于[C#][opencvsharp]winform实现自定义卷积核锐化和USM锐化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!