一行代码实现高斯模糊

简介: 前言:有一个音乐播放器的项目,背景需要根据歌曲的封面进行模糊展示,搜罗了很久,找到一个不错的解决方案,不需要我们进行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,感谢开源

相关文章
|
1月前
|
人工智能 自然语言处理 算法
|
2月前
|
算法 计算机视觉
图像处理之基于一维高斯快速模糊
图像处理之基于一维高斯快速模糊
24 8
|
2月前
|
算法 BI 计算机视觉
图像处理之积分图应用一(半径无关的快速模糊算法)
图像处理之积分图应用一(半径无关的快速模糊算法)
23 0
|
3月前
用图直观上理解梯度算子(一阶)与拉普拉斯算子(二阶)的区别,线检测与边缘检测的区别
用图直观上理解梯度算子(一阶)与拉普拉斯算子(二阶)的区别,线检测与边缘检测的区别
110 1
|
3月前
|
算法 数据挖掘 计算机视觉
OpenCV中应用尺度不变特征变换SIFT算法讲解及实战(附源码)
OpenCV中应用尺度不变特征变换SIFT算法讲解及实战(附源码)
55 0
|
小程序
小程序实现全屏幕高斯模糊背景图
小程序实现全屏幕高斯模糊背景图
172 0
|
机器学习/深度学习 算法 计算机视觉
基于python实现最近邻插值双线性插值径向基函数插值(代码实现详细教程)
基于python实现最近邻插值双线性插值径向基函数插值(代码实现详细教程)
374 0
基于python实现最近邻插值双线性插值径向基函数插值(代码实现详细教程)
|
机器学习/深度学习 传感器 算法
【光学】基于GS算法实现高斯光转换成高阶高斯光,一阶空心高斯光,贝塞尔高斯光附matlab代码
【光学】基于GS算法实现高斯光转换成高阶高斯光,一阶空心高斯光,贝塞尔高斯光附matlab代码
|
算法 Java Serverless
Java实现高斯模糊和图像的空间卷积
Java实现高斯模糊和图像的空间卷积
245 0
Java实现高斯模糊和图像的空间卷积
|
算法 程序员
链表翻转的变形 | 算法必看系列八
本节课会通过三道变形题讲解链表的翻转,相信学完本节课会对链表有一个更加深刻地印象。
链表翻转的变形 | 算法必看系列八