当前位置: 代码迷 >> Android >> Android Camera 实时滤镜(5)
  详细解决方案

Android Camera 实时滤镜(5)

热度:294   发布时间:2016-04-28 01:16:49.0
Android Camera 实时滤镜(五)

Android 静态滤镜的实现

一、回顾知识点

1、基本滤镜效果的实现(黑白滤镜)

用到的技术是ColorMatrix。通过改变RGBA的系数,从而改变图像的成像效果。

Created with Rapha?l 2.1.2图像BitmapColorMateixRGB系数滤镜图像

2、PS滤镜效果的实现(反色效果、冰冻效果、油画效果)

用到的技术是通过遍历图像的像素点,设置图像的像素点的RGB三原色来实现PS效果。

Created with Rapha?l 2.1.2图像Bitmap获取像素getPixelsPS算法 修改像素点Color.red/green/blue滤镜图像

二、静态滤镜的实现

基于之前积累下来的知识点,在对静态滤镜的实现方面做一下提升,还是从两方面进行实现。

1、基本滤镜效果升级版 –> 伪lomo滤镜的实现

Created with Rapha?l 2.1.2原始图片ColorMatrix处理在处理后的图片上覆盖一层彩色lomo图片覆盖上彩色lomo伪lomo滤镜效果
  • step1:原始图片
    原始图片
  • step2:ColorMatrix处理
    ColorMatrix处理
  • step3:在处理后的图片上覆盖一层彩色lomo图片
    在处理后的图片上覆盖一层彩色lomo图片
  • step4:覆盖上彩色lomo后的效果
    覆盖上彩色lomo
  • step5:伪lomo滤镜效果
    伪lomo滤镜效果

2、PS滤镜效果升级版 –> 老照片滤镜的实现

(1)HSL颜色标准


  • HSL色彩模式是工业界的一种颜色标准,是通过对色调(H)、饱和度(S)、亮度(L)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜 色的,HSL即是代表色调,饱和度,亮度三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。   
  • HSL色彩模式使用HSL模型为图像中每一个像素的HSL分量分配一个0~255范围内的强度值。HSL图像只使用三种通道,就可以使它们按照不同的比例混合,在屏幕上重现16777216种颜色。   
  • 在 HSL 模式下,每种 HSL 成分都可使用从 0到 255的值。(其中L是从黑(0)到白(255)渐变) 。

老照片效果的总体思路是,对色调、饱和度、亮度进行处理,而非之前的红绿蓝色调处理。
(2)算法实现
Created with Rapha?l 2.1.2自定义一个ColorBalance类(用于色彩平衡)Bitmap建立检索表颜色矩阵(用于RGB色值的微调)图片转换为HSL标准HSL转回为RGB底片进行α混淆
  • 效果图
    这里写图片描述
  相关解决方案