图片特效处理系列将介绍图片的像素点的特效处理,这些物资注重的是原理。也就是说只要你知道这些算法不管是C++,VB,C#,Java都可以做出相同的特效。下面将介绍图片怀旧效果的算法。算法如下:

上面公式的意思是说将每个像素点的RGB值先分离出来,然后再按照上面的三个算式分别重新计算出RGB值然后做为当前点的RGB值。

下面看效果图片:

原图片:

处理后:

代码:

[java] view plain copy
  1. /**
  2. * 怀旧效果(相对之前做了优化快一倍)
  3. * @param bmp
  4. * @return
  5. */
  6. private Bitmap oldRemeber(Bitmap bmp)
  7. {
  8. // 速度测试
  9. long start = System.currentTimeMillis();
  10. int width = bmp.getWidth();
  11. int height = bmp.getHeight();
  12. Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);
  13. int pixColor = 0;
  14. int pixR = 0;
  15. int pixG = 0;
  16. int pixB = 0;
  17. int newR = 0;
  18. int newG = 0;
  19. int newB = 0;
  20. int[] pixels = new int[width * height];
  21. bmp.getPixels(pixels, 0, width, 0, 0, width, height);
  22. for (int i = 0; i < height; i++)
  23. {
  24. for (int k = 0; k < width; k++)
  25. {
  26. pixColor = pixels[width * i + k];
  27. pixR = Color.red(pixColor);
  28. pixG = Color.green(pixColor);
  29. pixB = Color.blue(pixColor);
  30. newR = (int) (0.393 * pixR + 0.769 * pixG + 0.189 * pixB);
  31. newG = (int) (0.349 * pixR + 0.686 * pixG + 0.168 * pixB);
  32. newB = (int) (0.272 * pixR + 0.534 * pixG + 0.131 * pixB);
  33. int newColor = Color.argb(255, newR > 255 ? 255 : newR, newG > 255 ? 255 : newG, newB > 255 ? 255 : newB);
  34. pixels[width * i + k] = newColor;
  35. }
  36. }
  37. bitmap.setPixels(pixels, 0, width, 0, 0, width, height);
  38. long end = System.currentTimeMillis();
  39. Log.d("may", "used time="+(end - start));
  40. return bitmap;
  41. }

上面的代码是优化了的,也就是用到了这篇android图像处理系列之六--给图片添加边框(下)-图片叠加里面所说的getPixels()和setPixels()。自己简单的测试了一下,速度比原来getPixel()和setPixel()速度快了一倍。

转载于:https://www.cnblogs.com/Free-Thinker/p/6722587.html

android 图片特效处理之怀旧效果相关推荐

  1. android图片特效处理之怀旧效果

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 图片特效 ...

  2. android 光晕效果,【转】七、android图片特效处理之光晕效果

    /*** 光晕效果 *@parambmp *@paramx 光晕中心点在bmp中的x坐标 *@paramy 光晕中心点在bmp中的y坐标 *@paramr 光晕的半径 *@return */ publ ...

  3. Android图片特效处理(像素处理)

    这篇博客将会通过对像素的RGB分量做一个处理,然后达到一些特效.并没有很高端大气的代码.也没用使用ImageFilter等一些库.多数参考了别人,大神勿喷. 首先看一下今天的效果图. 由于上传大小限制 ...

  4. Android图片特效处理之图片叠加

    这篇将讲到图片特效处理的图片叠加效果.跟前面一样是对像素点进行处理,可参照前面的android图像处理系列之七--图片涂鸦,水印-图片叠加和android图像处理系列之六--给图片添加边框(下)-图片 ...

  5. android图片特效处理之锐化效果

    这篇将讲到图片特效处理的锐化效果.跟前面一样是对像素点进行处理,算法是通用的. 算法原理: 一.简单算法:分别获取当前像素点和八个周围像素点的RGB值,先求出当前像素点的RGB值与八个像素点RGB值的 ...

  6. android图片特效处理之光照效果

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 这篇将讲 ...

  7. 【转】五、android图片特效处理之光照效果

    这篇将讲到图片特效处理的光照效果.跟前面一样是对像素点进行处理,算法是通用的. 算法原理:图片上面的像素点按照给定圆心,按照圆半径的变化,像素点的RGB值分别加上相应的值作为当前点的RGB值. 例: ...

  8. android 背景设置正圆,Android图片特效:黑白特效、圆角效果、高斯模糊

    /** * 高斯模糊 * * @param bmp * @return */ public static Bitmap convertToBlur(Bitmap bmp) { // 高斯矩阵 int[ ...

  9. android 图片切换,仿百叶窗效果

    2019独角兽企业重金招聘Python工程师标准>>> 不知道百叶窗的效果怎么实现,最后用AsyncTask这个类,相当开辟一个线程,更新UI界面,达到切换图片的效果.并添加小圆点图 ...

最新文章

  1. 第1次作业:这是我的一个响亮的标题X!
  2. 真・WPF 按钮拖动和调整大小
  3. android布局添加背景颜色,android-获取布局的背景色
  4. java 上传文件到服务器_java上传文件到OSS云服务器(二)
  5. LeetCode(283)——移动零(JavaScript)
  6. 自定义TextView显示指定行数
  7. qDebug用法详解
  8. 计算机cmd查询ip地址,cmd命令大全IP地址如何查询,windows cmd常用命令!
  9. python化学模拟_rdkit 化学反应高级功能
  10. CF1076C Meme Problem(韦达定理)
  11. 鸡啄米C++和MFC学习网址链接
  12. Snipaste截图贴图软件安装包下载免费的超级强大截图软件
  13. Windows 7系统实用进阶技巧
  14. MySQL使用SELECT 语句不加ORDER BY默认是如何排序的?
  15. CRM管理系统对企业有哪些好处?
  16. 在word中插入pdf中的图片(矢量图)
  17. 【无人驾驶系列九】无人驾驶系统安全
  18. java 简体繁体转换
  19. 电子信息工程(一)为什么选择这个专业
  20. SQL Server的简单使用

热门文章

  1. 第一次接触vc编程,顺便写一个过300英雄od附加的检测的小例子
  2. 5.软件测试-----自动化测试
  3. RocketMQ面试题
  4. (转)一个睡五分钟等于六个钟头的方法
  5. 在虚拟机上安装PFsense详细图解
  6. 荣耀平板v6如何申请鸿蒙,全球首款同时支持5G和Wi-Fi6的平板来了!荣耀平板V6今日官宣...
  7. 基于三菱PLC的饮料售货机控制系统设计
  8. 上市公司急聘:PostgreSQL DBA
  9. 生产者-消费者问题(操作系统)
  10. cocos2D插件转3D插件