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 } 
};

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

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

相关推荐
gu201 小时前
c#编程:学习Linq,重几个简单示例开始
开发语言·学习·c#·linq
xiao5kou4chang6kai41 小时前
遥感影像目标检测:从CNN(Faster-RCNN)到Transformer(DETR)
目标检测·cnn·transformer·遥感影像
終不似少年遊*3 小时前
词向量与词嵌入
人工智能·深度学习·nlp·机器翻译·词嵌入
IT古董4 小时前
【漫话机器学习系列】100.L2 范数(L2 Norm,欧几里得范数)
人工智能·机器学习
B站计算机毕业设计超人4 小时前
计算机毕业设计Python+DeepSeek-R1高考推荐系统 高考分数线预测 大数据毕设(源码+LW文档+PPT+讲解)
大数据·python·机器学习·网络爬虫·课程设计·数据可视化·推荐算法
夏莉莉iy5 小时前
[MDM 2024]Spatial-Temporal Large Language Model for Traffic Prediction
人工智能·笔记·深度学习·机器学习·语言模型·自然语言处理·transformer
yuanpan6 小时前
23种设计模式之《组合模式(Composite)》在c#中的应用及理解
开发语言·设计模式·c#·组合模式
pzx_0016 小时前
【机器学习】K折交叉验证(K-Fold Cross-Validation)
人工智能·深度学习·算法·机器学习
伊一大数据&人工智能学习日志6 小时前
自然语言处理NLP 04案例——苏宁易购优质评论与差评分析
人工智能·python·机器学习·自然语言处理·数据挖掘