作者:牛栋凯

前言

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

图片模糊原理

卷积

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

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

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

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

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

  1. Android 从 Android 本地图库选择多个图片

    原文地址 本文说明如何从 Android 本地图库选择多个图片.作者考虑很多解决方案. 演示从 Android 本地图库选择多个图片,有两个方法可以实现从图库中选择多个图片: 用 Intent 获取多 ...

  2. android+获取图库图片+4.4,Android 从 Android 本地图库选择多个图片

    本文说明如何从 Android 本地图库选择多个图片.作者考虑很多解决方案. 演示从 Android 本地图库选择多个图片,有两个方法可以实现从图库中选择多个图片: 用 Intent 获取多个图片 自 ...

  3. android 本地提醒功能,android中的本地定时推送到通知栏

    一.使用系统定义的Notification 以下是使用示例代码: import android.app.Notification; import android.app.NotificationMan ...

  4. ipad html 自定义裁剪图片大小,移动端图片裁剪上传插件 Mavatar.js(原创)

    插件描述:移动端头像上传,支撑头像预览和放大缩小平移,内置上传至后端请求方法. 注:请在移动端用手势查看缩放效果,PC端无法缩放 Mavatar 移动端头像上传,支撑头像预览和放大缩小平移,内置上传至 ...

  5. android 本地存储路径,Android本地存储路径学习

    一.前言: Android 中获取本地储存路径,有四个方法, getCacheDir().getFilesDir().getExternalFilesDir().getExternalCacheDir ...

  6. android 本地资源 uri,Android 本地文件选择

    打开系统文件: Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("*/*"); inte ...

  7. android本地gradle地址,android gradle本地路径不存在

    当我每次运行我的应用程序时,versionName在Manifest文件中递增. 20389表示旧版本名称,20390表示递增编号. 项目建立成功,如BUILD SUCCESSFUL.但问题是为什么A ...

  8. 双指缩放canvas图片_移动端 图片手势控制 双指缩放 单指移动

    var pageX,pageY,position_top,position_left; function setGesture(el) { var obj = {}; //定义一个对象 var ist ...

  9. android 本地文件读写,Android 读写文件方法汇总

    一. 从resource中的raw文件夹中获取文件并读取数据(资源文件只能读不能写) String res = ""; try{ InputStream in = getResou ...

  10. android 本地 播放器,Android 本地播放器

    一.先看效果图 二.项目的播放流程简要介绍 1.首先我们需要一个常驻在后台的播放服务,在播放服务中绑定一个播放广播,我们在打开播放器的时候就启动这个播放服务.public class MusicPla ...

最新文章

  1. RHEL5.3下手动创建用户
  2. 等重构完这系统,我就辞职
  3. SAP为什么并购sybase
  4. 命令行模式下的后向引用替换
  5. Python的列表List常见操作
  6. 使用dshow抓取摄像头数据时,回调函数时间为0的问题
  7. Python连接MySQL数据库(pymysql),DataFrame写入 MySQL(create_engine)- Python代码
  8. 谁说双非本科就一定无缘阿里?H哥粉丝6棉通过,喜提Offer!
  9. 未能连接驱动人生服务器怎么解决,重装系统后无法上网?驱动人生提供3个解决方案...
  10. mediasoup server 启动失败排查
  11. 全解消能减震神器之“黏滞阻尼器”(上)
  12. android 极光推送测试,Android 极光推送基本步骤
  13. FPGA小技巧 - 缩减运算符
  14. mysql 木马_通过mysql写入一句话木马
  15. 列表解析式与生成器表达式
  16. 广州图普网络科技2017校园招聘简章
  17. 软件测试工程师该如何规划自己的职业发展道路?
  18. JavaWeb学习笔记(JavaScript)
  19. kafak学习之分享ppt
  20. c语言考试系统设计报告,C语言课程设计(单项选择题标准化考试系统)报告

热门文章

  1. 三维电子沙盘 数字沙盘GIS开发教程
  2. win10蓝屏后的解决办法
  3. 封神台靶场-尤里的复仇-第二章
  4. 图片作为背景的相关方法
  5. Vulnhub_MoneyBox
  6. [Excel VBA]如何批量產出QRcode?
  7. 解决Windows找不到steam_api.dll文件
  8. 剑指Offer对答如流系列 - 用两个栈实现队列
  9. BZOJ 1216 优先队列
  10. 微信小程序+PHP 从零写一个微信小程序