专栏名称: Cang_Wang
Android研发架构师
目录
相关文章推荐
复利大王  ·  李蓓晒照回怼SB ·  12 小时前  
复利大王  ·  深圳婚恋江湖的厮杀 ·  昨天  
复利大王  ·  早期纯欲天花板 ·  昨天  
复利大王  ·  六年级已成早恋重灾区了? ·  2 天前  
复利大王  ·  张艺谋最好的电影解禁了 ·  2 天前  
51好读  ›  专栏  ›  Cang_Wang

未来视觉7-Android的高斯模糊方案

Cang_Wang  · 掘金  · android  · 2019-08-07 01:54

正文

请到「今天看啥」查看全文


根据一维高斯函数,可以推导得到二维高斯函数:

二维高斯函数

3*3的矩阵

3*3矩阵单位.png

为了计算权重矩阵,需要设定σ值。现假定σ=1.5,则模糊半径为1的权重矩阵如下:

矩阵权重计算

这9个点的权重总和等于0.4787147,如果只计算这9个点的加权平均,还必须让它们的权重之和等于1,因此上面9个值还要分别除以0.4787147,得到最终的权重矩阵。

###目的是让滤镜的权重总值等于1。否则的话,使用总值大于1的滤镜会让图像偏亮,小于1的滤镜会让图像偏暗。

image

有了权重矩阵,就可以计算高斯模糊的值了。 假设现有9个像素点,灰度值(0-255)如下:

image

每个点乘以自己的权重值:

image

得到

image

将这9个值加起来,就是中心点的高斯模糊的值。 对所有点重复这个过程,就得到了高斯模糊后的图像。 ###对于彩色图片来说,则需要对RGB三个通道分别做高斯模糊。

如果到达边界的时候,还需要给边界侧补0处理

边界处理.png

当图像处理的时候,高斯滤波会从左到右、从上到下的处理各个点的色值合成。

一.Glide

Glide可以使用一个扩展库glide-transformations,就是自己写Transform,然后在transform中添加高斯模糊的计算。具体代码如下

FastBlur.java , 里面变换的规则有点复杂,因为图像变化是基于java上层来完成,效率和速度是最低的。







请到「今天看啥」查看全文


推荐文章
复利大王  ·  李蓓晒照回怼SB
12 小时前
复利大王  ·  深圳婚恋江湖的厮杀
昨天
复利大王  ·  早期纯欲天花板
昨天
复利大王  ·  六年级已成早恋重灾区了?
2 天前
复利大王  ·  张艺谋最好的电影解禁了
2 天前
裕彬宏观价值守望者  ·  如果美朝发生冲突:美元垮了 黄金会怎样?
8 年前