CNN常用卷积核

图像处理魔法阵之卷积核大揭秘

在图像处理的奇妙世界里,卷积核就像是一个个神秘的魔法阵,轻轻一挥,就能让图像发生神奇的变化。今天,咱们就来揭开这些魔法阵的神秘面纱,看看它们到底有什么神奇的本领!

Sobel 魔法阵

Sobel 魔法阵可是边缘检测界的明星,它有两个兄弟,sobelX 和 sobelY 。sobelX 就像一个犀利的观察者,专门捕捉图像中水平方向的边缘。它的矩阵是这样的:

cs 复制代码
float[,] sobelX = {  
    { -1, 0, 1 },  
    { -2, 0, 2 },  
    { -1, 0, 1 }  
};  

你看,中间那列的数字,有正有负,就像是在对图像中的像素点说:"嘿,你们水平方向上的变化可逃不过我的眼睛!" 而 sobelY 则专注于垂直方向的边缘,它的矩阵是:

cs 复制代码
float[,] sobelY = {  
    { 1, 2, 1 },  
    { 0, 0, 0 },  
    { -1, -2, -1 }  
};  

这两兄弟联手,就能把图像的边缘勾勒得清清楚楚,让图像瞬间变得轮廓分明,就像给图像穿上了一件带花边的衣服。

Prewitt 魔法阵

Prewitt 魔法阵也是边缘检测的一把好手,它同样有 prewittX 和 prewittY 两个分身。prewittX 对水平边缘的检测就像是一个严谨的工匠,不放过任何一个细节:

cs 复制代码
float[,] prewittX = {  
    { -1, 0, 1 },  
    { -1, 0, 1 },  
    { -1, 0, 1 }  
};  

prewittY 则像一个优雅的舞者,在垂直方向上轻盈地舞动,寻找着边缘的踪迹:

cs 复制代码
float[,] prewittY = {  
    { 1, 1, 1 },  
    { 0, 0, 0 },  
    { -1, -1, -1 }  
};  

有了 Prewitt 魔法阵,图像的边缘就像是被精心雕刻出来的一样,规整又漂亮。

Roberts 魔法阵

Roberts 魔法阵是个小巧玲珑的家伙,它只有 2x2 的大小,却有着强大的能量。robertsX 和 robertsY 这对搭档,就像两个敏捷的小侦探,在图像的像素世界里快速穿梭,寻找着边缘的蛛丝马迹:

cs 复制代码
float[,] robertsX = {  
    { 1, 0 },  
    { 0, -1 }  
};  

float[,] robertsY = {  
    { 0, 1 },  
    { -1, 0 }  
};  

别看它们个头小,在一些简单的图像边缘检测任务中,可是能发挥大作用的,就像小个子也有大能量一样。

3x3 边缘检测魔法阵

这个魔法阵就像是边缘检测界的 "重炮手",它的矩阵是:

cs 复制代码
float[,] edgeDetect3x3 = {  
    { -1, -1, -1 },  
    { -1, 8, -1 },  
    { -1, -1, -1 }  
};  

它对边缘的敏感度极高,一旦施展魔法,图像的边缘就会像被强光照射一样,清晰地显现出来,仿佛在大声宣告:"我就是边缘,谁也别想忽视我!"

方向性边缘检测魔法阵

方向性边缘检测魔法阵就像是一个有着独特视角的艺术家,它的矩阵是:

cs 复制代码
float[,] directionalEdge = {  
    { 1, 1, 1 },  
    { 1, -7, 1 },  
    { 1, 1, 1 }  
};  

它能够根据特定的方向,精准地检测出图像中的边缘,就像一个拿着指南针的探险家,在图像的世界里找到那些隐藏在特定方向上的边缘宝藏。

3x3 方向性边缘检测魔法阵

这个小巧的魔法阵同样专注于方向性边缘检测,它的矩阵是:

cs 复制代码
float[,] directionalEdge3x3 = {  
    { 1, 1, 1 },  
    { 1, -8, 1 },  
    { 1, 1, 1 }  
};  

虽然它个头不大,但在检测特定方向的边缘时,可是非常精准的,就像一个小巧的狙击枪,能够准确地击中目标边缘。

Gaussian 魔法阵

Gaussian 魔法阵就像是一个温柔的画家,它用细腻的笔触给图像蒙上一层柔和的面纱,让图像变得模糊而又美丽。它的矩阵是:

cs 复制代码
float[,] gaussian = {  
    { 1/16f, 2/16f, 1/16f },  
    { 2/16f, 4/16f, 2/16f },  
    { 1/16f, 2/16f, 1/16f }  
};  

这个魔法阵的权重分布就像一个美丽的山峰,中间高,两边低,使得图像在模糊的同时,还能保持一定的层次感,就像给图像加上了一层梦幻的滤镜。

5x5 Gaussian 魔法阵

5x5 的 Gaussian 魔法阵则是模糊界的 "大师",它的矩阵更加复杂,能够给图像带来更加细腻的模糊效果:

cs 复制代码
float[,] gaussian5x5 = {  
    { 1/273f, 4/273f, 6/273f, 4/273f, 1/273f },  
    { 4/273f, 16/273f, 24/273f, 16/273f, 4/273f },  
    { 6/273f, 24/273f, 36/273f, 24/273f, 6/273f },  
    { 4/273f, 16/273f, 24/273f, 16/273f, 4/273f },  
    { 1/273f, 4/273f, 6/273f, 4/273f, 1/273f }  
};  

它就像一个精心雕琢的艺术品,每一个细节都处理得恰到好处,让图像的模糊效果更加自然,仿佛是透过一层薄纱在看世界。

均值模糊魔法阵

均值模糊魔法阵是一个简单直接的家伙,它的矩阵是:

cs 复制代码
float[,] mean = {  
    { 1/9f, 1/9f, 1/9f },  
    { 1/9f, 1/9f, 1/9f },  
    { 1/9f, 1/9f, 1/9f }  
};  

它不管图像中的像素点是什么样的,都一视同仁,直接取周围像素的平均值,让图像变得模糊起来,就像一个大杂烩,把所有的细节都混合在了一起。

3x3 均值模糊魔法阵

3x3 的均值模糊魔法阵和上面那个均值模糊魔法阵是 "亲兄弟",只是大小稍微小了一点,它的矩阵是:

cs 复制代码
float[,] mean3x3 = {  
    { 1/9f, 1/9f, 1/9f },  
    { 1/9f, 1/9f, 1/9f },  
    { 1/9f, 1/9f, 1/9f }  
};  

虽然个头小了点,但在模糊图像方面,它可一点也不含糊,同样能让图像变得柔和起来,就像一个小巧的搅拌机,把图像的细节搅得模糊不清。

5x5 均值模糊魔法阵

5x5 的均值模糊魔法阵则是模糊界的 "大力士",它的矩阵更大,覆盖的范围更广:

cs 复制代码
float[,] mean5x5 = {  
    { 1/25f, 1/25f, 1/25f, 1/25f, 1/25f },  
    { 1/25f, 1/25f, 1/25f, 1/25f, 1/25f },  
    { 1/25f, 1/25f, 1/25f, 1/25f, 1/25f },  
    { 1/25f, 1/25f, 1/25f, 1/25f, 1/25f },  
    { 1/25f, 1/25f, 1/25f, 1/25f, 1/25f }  
};  

它能够让图像变得更加模糊,就像给图像盖上了一层厚厚的棉被,把所有的细节都藏了起来。

锐化魔法阵

锐化魔法阵就像是一个神奇的化妆师,它能够让图像变得更加清晰锐利,就像给图像打了一剂 "清醒针"。它的矩阵是:

cs 复制代码
float[,] sharpen = {  
    { 0, -1, 0 },  
    { -1, 5, -1 },  
    { 0, -1, 0 }  
};  

这个魔法阵通过增强图像中像素之间的对比度,让图像的边缘更加突出,细节更加清晰,就像把图像从朦胧的睡梦中唤醒,让它变得精神抖擞。

3x3 锐化魔法阵

3x3 的锐化魔法阵也是锐化界的一员猛将,它的矩阵是:

cs 复制代码
float[,] sharpen3x3 = {  
    { -1, -1, -1 },  
    { -1, 9, -1 },  
    { -1, -1, -1 }  
};  

它对图像的锐化效果更加明显,能够让图像的边缘更加锋利,就像一把锋利的刀,把图像的模糊边缘一下子削得干干净净。

Laplacian 魔法阵

Laplacian 魔法阵是一个神秘的家伙,它主要用于检测图像中的二阶导数,从而找到图像中的边缘和突变点。它的矩阵是:

cs 复制代码
float[,] laplacian = {  
    { 0, -1, 0 },  
    { -1, 4, -1 },  
    { 0, -1, 0 }  
};  

它就像一个敏锐的医生,通过对图像的 "体检",发现那些隐藏在图像深处的边缘和变化,让图像的秘密无处遁形。

高通滤波魔法阵

高通滤波魔法阵就像是一个挑剔的筛选器,它只允许高频信号通过,过滤掉低频信号。它的矩阵是:

cs 复制代码
float[,] highPass = {  
    { 0, -1, 0 },  
    { -1, 5, -1 },  
    { 0, -1, 0 }  
};  

这个魔法阵能够突出图像中的细节和边缘,让图像变得更加清晰,就像把图像中的 "杂质" 过滤掉,只留下最精彩的部分。

3x3 高通滤波魔法阵

3x3 的高通滤波魔法阵同样有着强大的过滤能力,它的矩阵是:

cs 复制代码
float[,] highPass3x3 = {  
    { 0, -1, 0 },  
    { -1, 5, -1 },  
    { 0, -1, 0 }  
};  

它在处理小尺寸图像时,能够快速地突出图像的细节和边缘,就像一个高效的小助手,帮助我们快速地找到图像中的关键信息。

自定义魔法阵

自定义魔法阵就像是一个充满创意的艺术家,它可以根据我们的需求,创造出各种各样独特的效果。比如这个自定义魔法阵:

cs 复制代码
float[,] customKernel = {  
    { 1, 1, 1 },  
    { 1, -7, 1 },  
    { 1, 1, 1 }  
};  

它能够产生一些特殊的效果,让图像变得与众不同,就像一个独特的艺术品,展现出我们自己的个性和创意。

3x3 自定义魔法阵

3x3 的自定义魔法阵同样充满了无限的可能性,它的矩阵是:

cs 复制代码
float[,] customKernel3x3 = {  
    { 1, 1, 1 },  
    { 1, -8, 1 },  
    { 1, 1, 1 }  
};  

我们可以根据自己的喜好和需求,调整矩阵中的数值,让图像产生出各种奇妙的变化,就像在玩一场有趣的图像魔法游戏。

边缘增强魔法阵

边缘增强魔法阵就像是一个热情的啦啦队,它能够让图像的边缘更加突出,更加引人注目。它的矩阵是:

cs 复制代码
float[,] edgeEnhance = {  
    { -1, -1, -1 },  
    { -1, 9, -1 },  
    { -1, -1, -1 }  
};  

这个魔法阵通过增强边缘的对比度,让图像的边缘更加鲜明,就像给图像的边缘涂上了一层鲜艳的色彩,让它们在图像中脱颖而出。

3x3 边缘增强魔法阵

3x3 的边缘增强魔法阵同样有着强大的增强能力,它的矩阵是:

cs 复制代码
float[,] edgeEnhance3x3 = { 
    { -1, -1, -1 }, 
    { -1, 10, -1 }, 
    { -1, -1, -1 } 
};

它对图像边缘的增强效果更加明显,能够让图像的边缘更加锐利,就像一把锋利的剑,把图像的边缘切割得更加清晰。

这些卷积核魔法阵在图像处理的世界里各显神通,它们有的能让图像变得轮廓分明,有的能让图像变得柔和美丽,有的能让图像变得清晰锐利。只要我们掌握了它们的魔法,就能在图像处理的世界里自由驰骋,创造出各种神奇的效果!

相关推荐
xiangzhihong836 分钟前
Amodal3R ,南洋理工推出的 3D 生成模型
人工智能·深度学习·计算机视觉
狂奔solar1 小时前
diffusion-vas 提升遮挡区域的分割精度
人工智能·深度学习
勘察加熊人3 小时前
forms实现俄罗斯方块
c#
fantasy_arch5 小时前
深度学习--softmax回归
人工智能·深度学习·回归
Blossom.1185 小时前
量子计算与经典计算的融合与未来
人工智能·深度学习·机器学习·计算机视觉·量子计算
硅谷秋水5 小时前
MoLe-VLA:通过混合层实现的动态跳层视觉-语言-动作模型实现高效机器人操作
人工智能·深度学习·机器学习·计算机视觉·语言模型·机器人
2301_764441336 小时前
基于神经网络的肾脏疾病预测模型
人工智能·深度学习·神经网络
HABuo6 小时前
【YOLOv8】YOLOv8改进系列(12)----替换主干网络之StarNet
人工智能·深度学习·yolo·目标检测·计算机视觉
艾妮艾妮6 小时前
C语言常见3种排序
java·c语言·开发语言·c++·算法·c#·排序算法
小李独爱秋6 小时前
机器学习开发全流程详解:从数据到部署的完整指南
人工智能·机器学习