矩阵卷积的运算

矩阵卷积的运算,第1张

最近在看图像处理,卷积运算这一块也查了很多,但是感觉都写的太复杂,我这里简单的写一下卷积正清到底是一个什么计算过程。

假设有一个卷积核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函数卷积运算过程。

矩阵卷积概念:

是得到图像处理的一个初级效果非常有效并快捷的工具。它是一个5X5或3X3的矩阵,一般使用3X3矩阵好激就可以得到你的想要的效果,如果一个5X5矩阵的周围一圈值都是0,那么一些程序会自动默认它成3X3矩阵。

矩阵卷积的具体工作原理:

点阵图中的每一个像素被称为“初步像素”,用与卷积矩阵同样面积的“初步像素”从左到右从上到下与卷积矩阵中相应位置的值相乘,再将得到的9个或25个中间值相加,就得到了“初步像素”矩阵中央的一个值的结果值再与Divisor(因子)相除,与Offset(偏移量)相加,最后得到终值。

例如:把模板(n*n)放在矩阵上(中心对准要处理的元素),用模板的每个元素去乘矩阵中的的元素,累加和等于这个元素例如例子中的第二行第二个元素16= 1*2+1*1+1*3+1*1+1*2+1*1+1*2+1*1+1*2+1*1+1*3的计算。

依次计算每个元素的值,如果矩阵的中心在边缘就要将原矩阵进行扩展,例如补0,或者直接规定模板的中心距离边缘(n-1)/2个单位以上。

扩展资料:

卷积的计算步骤:

(1)    卷积核绕自己的核心元素顺时针旋转180度。(容易被遗忘,计算时要牢记。)

(2)    移动卷积核的中心元素,使它位于输入图像待处理像素的正上方。

(3)    在旋转后的卷积核中,将输入图像的像素值作为权重相乘。

(4)    第三步各结果的和做为该输入像素对应的输出像素。

卷积的计算方法有移位法、MATLAB编程计算法还有解析法,编程计算法最简单,直接调用函数计算即可,但是对于考试或者不懂编程语言的人来说无法使用,移位法比较麻烦,晌消要画图还常常会在左移右移上弄混,解析法就更复杂,更难使用。

卷积处理规则: 

A、卷积计算中的半成品支持除个别计价法外的其余五种计价方式。 

B、卷积计算中不支持材料及外购半成品耗用表手工增加、修宴袜知改、删除。

C、支持成本管理中选项中所有计算方法(包括批次法、品种法)。

参考资料来源:百度百科-卷积


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8193811.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存