0
点赞
收藏
分享

微信扫一扫

自定义神经网络一之Tensor和神经网络

文章目录


一、非锐化掩模USM大体原理

USM,是英文unsharp mask的缩写,所以中文翻译过来就是“非锐化掩膜”,它可以去除一些细小的干扰细节和噪声。在Emgu CV中没有单独的函数实现USM锐化算法,而是通过两个简单的函数组合:

二、代码

C#代码如下:

Mat tempMat = srcMat.Clone();
Mat gaussianMat = new Mat();
Mat dstMat = new Mat();

int ksizeW = 9;
int ksizeH = 9;
double sigmaX = 5;
double sigmaY = 5;
CvInvoke.GaussianBlur(tempMat, gaussianMat, new System.Drawing.Size(ksizeW, ksizeH), sigmaX, sigmaY);
CvInvoke.AddWeighted(tempMat, 2, gaussianMat, -1, 0, dstMat);
CvInvoke.Imshow("Final image, " + dstMat.Size.ToString(), dstMat);

GaussianBlur函数和AddWeighted函数都在之前介绍过,这里就不多说了。值得注意的是,AddWeighted进行权重叠加时,原始图像权重是2,高斯模糊后的图像是-1,这个是用户自己定义的,具体要根据实际要求设置。

三、效果举例

原始素材定义为srcMat,如下:
在这里插入图片描述

还是这张夜晚天桥的照片,执行上述代码,锐化后的图像如下:
在这里插入图片描述

注意哈,它是锐化的作用,因此最终输出的图像,明暗对比没有被增强,但是仔细看,最下方地砖的纹理和树叶的边缘,是不是更清晰了????

再提一句,我这里把锐化、增强放到一起连续讲了。锐化就是边缘更清晰,增强是明暗对比更明显,概念别弄混了。


原创不易,请勿抄袭。共同进步,相互学习。

举报

相关推荐

0 条评论