为了账号安全,请及时绑定邮箱和手机立即绑定

blurR越大,未被处理的像素点越多

图片外围一圈都没有被处理

正在回答

1 回答

改成下面这样了,不知道还有没有问题,欢迎交流~

var blurR = 50;

for(var i = 0; i < canvasA.height; i++){

    for(var j = 0; j < canvasA.width; j++ ){

        var r = 0,g = 0,b = 0,totalNum = 0;

        for(var m = -blurR; m <= blurR; m++){

            for(var n = -blurR; n <= blurR;n++){

                var x = i + m;

                var y = j + n;

                if(x<0||y<0||x >= canvasA.height ||y >= canvasA.width)

                continue;

                totalNum++;

                var p = x*canvasA.width+y;

                r += tmpData[4*p+0];

                g += tmpData[4*p+1];

                b += tmpData[4*p+2];

            }

        }

        var p = i*canvasA.width+j;

        tmpData[4*p+0] = r/totalNum;

        tmpData[4*p+1] = g/totalNum;

        tmpData[4*p+2] = b/totalNum;

    }

}


1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Canvas玩转图像处理
  • 参与学习       60386    人
  • 解答问题       127    个

canvas系列第三课,学会编写图像算法,一起玩转图像处理吧

进入课程

blurR越大,未被处理的像素点越多

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号