矩阵卷积运算

最近在看图像处理,卷积运算这一块也查了很多,但是感觉都写的太复杂,我这里简单的写一下卷积到底是一个什么计算过程。
假设有一个卷积核h,就一般为3*3的矩阵:
 
有一个待处理矩阵x:

h*x的计算过程分为三步

第一步,将卷积核翻转180°,也就是成为了

第二步,将卷积核h的中心对准x的第一个元素,然后对应元素相乘后相加,没有元素的地方补0。

这样结果Y中的第一个元素值Y11=1*0+2*0+1*0+0*0+0*1+0*2+-1*0+-2*5+-1*6=-16
第三步每个元素都像这样计算出来就可以得到一个输出矩阵,就是卷积结果

……………………
像这样计算,其他过程略了。
最后结果

注意:
我这里是用0补全原矩阵的,但我们不一定选择0。在Opencv的cvFilter2D函数中,就没有使用0来补全矩阵,而是用了边缘拷贝的方式,下一篇我会介绍Opencv的CvFilter2D函数卷积运算过程。
--------------------- 
作者:寰宇的行者 
来源:CSDN 
原文:https://blog.csdn.net/qq_32846595/article/details/79053277 
版权声明:本文为博主原创文章,转载请附上博文链接!

矩阵卷积运算是一种常见的图像处理和机器学习中的数学运算,用于对输入数据进行特征提取和处理。它是基于滤波器(也称为卷积核或卷积矩阵)与输入矩阵之间的乘法运算来实现的。 具体来说,假设我们有一个 $m \times n$ 的输入矩阵 $A$,以及一个 $k \times k$ 的滤波器 $B$。那么,我们可以通过如下的方式将滤波器 $B$ 应用到输入矩阵 $A$ 上: 1. 将滤波器 $B$ 按照中心对称的方式放置在输入矩阵 $A$ 的某个位置上,比如左上角。 2. 将滤波器 $B$ 中的每个元素与与其对应的输入矩阵 $A$ 中的元素相乘,然后将它们相加得到一个标量值。 3. 将这个标量值作为输出矩阵 $C$ 中对应位置的值。 这个过程可以看做是一个对输入矩阵 $A$ 的滑动窗口操作,即将滤波器 $B$ 沿着输入矩阵 $A$ 滑动,每次在当前位置上进行乘法运算和求和操作,得到输出矩阵 $C$ 中对应位置的值。 在这个过程中,输入矩阵 $A$ 和滤波器 $B$ 的维度需要满足一定的条件,例如输入矩阵 $A$ 的通道数(即矩阵的深度)需要与滤波器 $B$ 的通道数相等,这样才能进行矩阵乘法运算。此外,卷积运算通常还包括一些额外的步骤,如填充和步幅等,用于控制输出矩阵 $C$ 的大小和形状。 总之,矩阵卷积运算是图像处理和机器学习中一个重要的数学工具,可以用于对输入数据进行特征提取和处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值