一行代码实现高斯模糊

简介: 前言:有一个音乐播放器的项目,背景需要根据歌曲的封面进行模糊展示,搜罗了很久,找到一个不错的解决方案,不需要我们进行NDK的开发,android帮我们在framework实现好了借鉴/** * 模糊图片 * @param bi...

前言:有一个音乐播放器的项目,背景需要根据歌曲的封面进行模糊展示,搜罗了很久,找到一个不错的解决方案,不需要我们进行NDK的开发,android帮我们在framework实现好了借鉴

/**
     * 模糊图片
     * @param bitmap 原图片
     * @param radius 模糊度  0~25
     * @param context
     * @return 模糊后的图片
     */
    public static Bitmap blurBitmap(Bitmap bitmap, float radius, Context context) {
    //Create renderscript
    RenderScript rs = RenderScript.create(context);
 
    //Create allocation from Bitmap
    Allocation allocation = Allocation.createFromBitmap(rs, bitmap);
    
    Type t = allocation.getType();
 
    //Create allocation with the same type
    Allocation blurredAllocation = Allocation.createTyped(rs, t);
 
    //Create script
    ScriptIntrinsicBlur blurScript = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));
    //Set blur radius (maximum 25.0)
    blurScript.setRadius(radius);
    //Set input for script
    blurScript.setInput(allocation);
    //Call script for output allocation
    blurScript.forEach(blurredAllocation);
 
    //Copy script result into bitmap
    blurredAllocation.copyTo(bitmap);
 
    //Destroy everything to free memory
    allocation.destroy();
    blurredAllocation.destroy();
    blurScript.destroy();
    t.destroy();
    rs.destroy();
    return bitmap;
}

感谢android,感谢开源

相关文章
|
4月前
用图直观上理解梯度算子(一阶)与拉普拉斯算子(二阶)的区别,线检测与边缘检测的区别
用图直观上理解梯度算子(一阶)与拉普拉斯算子(二阶)的区别,线检测与边缘检测的区别
61 1
|
5月前
|
算法 数据挖掘 计算机视觉
OpenCV中应用尺度不变特征变换SIFT算法讲解及实战(附源码)
OpenCV中应用尺度不变特征变换SIFT算法讲解及实战(附源码)
32 0
|
12月前
|
小程序
小程序实现全屏幕高斯模糊背景图
小程序实现全屏幕高斯模糊背景图
147 0
|
机器学习/深度学习 算法 计算机视觉
基于python实现最近邻插值双线性插值径向基函数插值(代码实现详细教程)
基于python实现最近邻插值双线性插值径向基函数插值(代码实现详细教程)
338 0
基于python实现最近邻插值双线性插值径向基函数插值(代码实现详细教程)
|
算法 计算机视觉
CV之Hog+HamMingDistance:基于Hog提取和汉明距离对比的应用—图像相似度对比之for循环将多个成对图片依次对比并输出相似度
CV之Hog+HamMingDistance:基于Hog提取和汉明距离对比的应用—图像相似度对比之for循环将多个成对图片依次对比并输出相似度
CV之Hog+HamMingDistance:基于Hog提取和汉明距离对比的应用—图像相似度对比之for循环将多个成对图片依次对比并输出相似度
|
机器学习/深度学习 算法 计算机视觉
【图像重构】基于3D 离散余弦变换实现图像的快速压缩重构附matlab代码
【图像重构】基于3D 离散余弦变换实现图像的快速压缩重构附matlab代码
|
算法 Java Serverless
Java实现高斯模糊和图像的空间卷积
Java实现高斯模糊和图像的空间卷积
229 0
Java实现高斯模糊和图像的空间卷积
|
计算机视觉
OpenCV 估算图像的投影关系:基础矩阵和RANSAC
根据针孔摄像机模型,我们可以知道,沿着三维点X和相机中心点之间的连线,可以在图像上找到对应的点x。反过来,在三维空间中,与成像平面上的位置x对应的场景点可以位于这条线上的所有位置。
2049 0
|
计算机视觉
opencv之模板匹配及应用 归一化 寻找最值
opencv之模板匹配及应用 归一化 寻找最值 1)模板匹配 模板匹配是一项在一幅图像中寻找与另一幅模板图像最匹配(相似)部分的技术,模板匹配不是基于直方图的,而是通过在输入图像中滑动图像块(模板)同时比对相似度,来对模板和输入图像进行匹配的一种方法 应用: 1.目标查找定位 2.运动物体跟踪 3其他。
2541 0
|
资源调度 算法 Java
Android图像处理 - 高斯模糊的原理及实现
原文:Android图像处理 - 高斯模糊的原理及实现 欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 由 天天P图攻城狮 发布在云+社区 作者简介:damonxia(夏正冬),天天P图Android工程师 前言 高斯模糊是图像处理中几乎每个程序员都或多或少听过的名词,但是对其原理大家可能并不了解,只知道通过高斯模糊能实现图像毛玻璃效果。
2168 0