android 图片特效处理之怀旧效果
图片特效处理系列将介绍图片的像素点的特效处理,这些物资注重的是原理。也就是说只要你知道这些算法不管是C++,VB,C#,Java都可以做出相同的特效。下面将介绍图片怀旧效果的算法。算法如下:
上面公式的意思是说将每个像素点的RGB值先分离出来,然后再按照上面的三个算式分别重新计算出RGB值然后做为当前点的RGB值。
下面看效果图片:
原图片:
处理后:
代码:
- /**
- * 怀旧效果(相对之前做了优化快一倍)
- * @param bmp
- * @return
- */
- private Bitmap oldRemeber(Bitmap bmp)
- {
- // 速度测试
- long start = System.currentTimeMillis();
- int width = bmp.getWidth();
- int height = bmp.getHeight();
- Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);
- int pixColor = 0;
- int pixR = 0;
- int pixG = 0;
- int pixB = 0;
- int newR = 0;
- int newG = 0;
- int newB = 0;
- int[] pixels = new int[width * height];
- bmp.getPixels(pixels, 0, width, 0, 0, width, height);
- for (int i = 0; i < height; i++)
- {
- for (int k = 0; k < width; k++)
- {
- pixColor = pixels[width * i + k];
- pixR = Color.red(pixColor);
- pixG = Color.green(pixColor);
- pixB = Color.blue(pixColor);
- newR = (int) (0.393 * pixR + 0.769 * pixG + 0.189 * pixB);
- newG = (int) (0.349 * pixR + 0.686 * pixG + 0.168 * pixB);
- newB = (int) (0.272 * pixR + 0.534 * pixG + 0.131 * pixB);
- int newColor = Color.argb(255, newR > 255 ? 255 : newR, newG > 255 ? 255 : newG, newB > 255 ? 255 : newB);
- pixels[width * i + k] = newColor;
- }
- }
- bitmap.setPixels(pixels, 0, width, 0, 0, width, height);
- long end = System.currentTimeMillis();
- Log.d("may", "used time="+(end - start));
- return bitmap;
- }
上面的代码是优化了的,也就是用到了这篇android图像处理系列之六--给图片添加边框(下)-图片叠加里面所说的getPixels()和setPixels()。自己简单的测试了一下,速度比原来getPixel()和setPixel()速度快了一倍。
转载于:https://www.cnblogs.com/Free-Thinker/p/6722587.html
android 图片特效处理之怀旧效果相关推荐
- android图片特效处理之怀旧效果
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 图片特效 ...
- android 光晕效果,【转】七、android图片特效处理之光晕效果
/*** 光晕效果 *@parambmp *@paramx 光晕中心点在bmp中的x坐标 *@paramy 光晕中心点在bmp中的y坐标 *@paramr 光晕的半径 *@return */ publ ...
- Android图片特效处理(像素处理)
这篇博客将会通过对像素的RGB分量做一个处理,然后达到一些特效.并没有很高端大气的代码.也没用使用ImageFilter等一些库.多数参考了别人,大神勿喷. 首先看一下今天的效果图. 由于上传大小限制 ...
- Android图片特效处理之图片叠加
这篇将讲到图片特效处理的图片叠加效果.跟前面一样是对像素点进行处理,可参照前面的android图像处理系列之七--图片涂鸦,水印-图片叠加和android图像处理系列之六--给图片添加边框(下)-图片 ...
- android图片特效处理之锐化效果
这篇将讲到图片特效处理的锐化效果.跟前面一样是对像素点进行处理,算法是通用的. 算法原理: 一.简单算法:分别获取当前像素点和八个周围像素点的RGB值,先求出当前像素点的RGB值与八个像素点RGB值的 ...
- android图片特效处理之光照效果
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 这篇将讲 ...
- 【转】五、android图片特效处理之光照效果
这篇将讲到图片特效处理的光照效果.跟前面一样是对像素点进行处理,算法是通用的. 算法原理:图片上面的像素点按照给定圆心,按照圆半径的变化,像素点的RGB值分别加上相应的值作为当前点的RGB值. 例: ...
- android 背景设置正圆,Android图片特效:黑白特效、圆角效果、高斯模糊
/** * 高斯模糊 * * @param bmp * @return */ public static Bitmap convertToBlur(Bitmap bmp) { // 高斯矩阵 int[ ...
- android 图片切换,仿百叶窗效果
2019独角兽企业重金招聘Python工程师标准>>> 不知道百叶窗的效果怎么实现,最后用AsyncTask这个类,相当开辟一个线程,更新UI界面,达到切换图片的效果.并添加小圆点图 ...
最新文章
- 第1次作业:这是我的一个响亮的标题X!
- 真・WPF 按钮拖动和调整大小
- android布局添加背景颜色,android-获取布局的背景色
- java 上传文件到服务器_java上传文件到OSS云服务器(二)
- LeetCode(283)——移动零(JavaScript)
- 自定义TextView显示指定行数
- qDebug用法详解
- 计算机cmd查询ip地址,cmd命令大全IP地址如何查询,windows cmd常用命令!
- python化学模拟_rdkit 化学反应高级功能
- CF1076C Meme Problem(韦达定理)
- 鸡啄米C++和MFC学习网址链接
- Snipaste截图贴图软件安装包下载免费的超级强大截图软件
- Windows 7系统实用进阶技巧
- MySQL使用SELECT 语句不加ORDER BY默认是如何排序的?
- CRM管理系统对企业有哪些好处?
- 在word中插入pdf中的图片(矢量图)
- 【无人驾驶系列九】无人驾驶系统安全
- java 简体繁体转换
- 电子信息工程(一)为什么选择这个专业
- SQL Server的简单使用