首页 > Web开发 > 详细

JS二阶高斯矩阵

时间:2020-04-26 17:40:05      阅读:70      评论:0      收藏:0      [点我收藏+]
 1 function gaussBlur(radius = 2.0, sigma = 1.5) {
 2     let gaussMatrix = [],
 3         gaussSum = 0.0,
 4         a = 1.0 / (2.0 * Math.PI * sigma * sigma),
 5         b = 1.0 / (2.0 * sigma * sigma);
 6 
 7     for (let i = - radius; i <= radius; i++) {
 8         for (let j = - radius; j <= radius; j++) {
 9             var gxy = a * Math.exp(- (i * i + j * j) * b);
10             gaussMatrix.push(gxy);
11             gaussSum += gxy;// 得到高斯矩阵的和,用来归一化
12         }
13     }
14 
15     for (let i = 0; i < gaussMatrix.length; i++) {
16         gaussMatrix[i] = gaussMatrix[i] / gaussSum;
17     }
18     return gaussMatrix;
19 }

原理及过程如下:

1.查到公式:

技术分享图片

2.模拟效果:(此时sigma取0.5)

技术分享图片

3.写出代码见开头。

4.运行检查结果

技术分享图片

技术分享图片

满足预期。

JS二阶高斯矩阵

原文:https://www.cnblogs.com/SpadeZ/p/12777954.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!