android 本地图片模糊,Android端图片模糊的实现原理及方案

作者:牛栋凯

前言

图片模糊是Android客户端开发中一种比较常见的特效,诸如对话框背景半透明效果,头像背景模糊效果都是通过图片模糊技术实现的。本文主要介绍图片模糊的实现原理及实现方案。

图片模糊原理

卷积

卷积(Convolution)是图像处理中最基本的操作,就是一个二维原图像素矩阵A(MxN)和一个二维图像滤波矩阵B(mxn)做若干操作,生成一个滤波后的新像素矩阵C(MxN),其中m和n远小于M和N,B称为卷积核(kernel),又称滤波器矩阵。

这里举个卷积的例子,如图:

0fe649a11b7bedc81204e2ac410132db.png

上图中,最左边的是源矩阵(8x8),中间是卷积核(3x3,半径为1),最右边是通过对前面两个矩阵做卷积生成的结果矩阵。图中,如果我们要求出结果矩阵中第二行第二列的元素的值,则把卷积核的中心元素(值为0)和源矩阵的第二行第二列(值为6)对齐,然后求加权和,即图中的公式,最后得到-3。

对图像边界像素的操作应特别注意,由于周边没有足够的点,通常有三种的处理方法:1)对称处理:就是把已有的点拷贝到另一面的对应位置,模拟出完整的矩阵;2)赋0:想象图像是无限长的图像的一部分,除了我们给定值的部分,其他部分的像素值都是0;3)赋边界值:想象图像是无限制长,但是默认赋值的不是0而是对应边界点的值。

一般认为图像是连续的数据,所以一般用图像边界的值进行拓展,计算边界的像素值。计算示例如下:

ad9fc786418e0ecfb95802882fee3436.png

值得注意的是,通常来说卷积核需要满足如下条件:

宽和高都为奇数,这样才会有半径和中心的概念。

元素总和为1。

滤波器

均值滤波器

均值滤波器(Mean Filter)是最简单的一种滤波器,它是最粗糙的一种模糊图像的方法。均值滤波器的卷积核通常是m*m的矩阵,其中每个元素为1/(m^2),可以看出卷积核的元素总和为1。比如3x3的均值滤波器,卷积核的每个元素就是1/9。如下图所示:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值