使用ColorMatrixColorFilter的图像过滤器

时间:2013-11-22 20:45:01

标签: java android

我想确保我在Android上关于图像过滤器的正确道路。

我正在使用颜色矩阵并进行测试以获得我喜欢的滤镜。这是我用于褪色外观的过滤器。

float[] colorMatrix = {
    .66f, .33f, .33f, 0, 0, //red
    .33f, .66f, .33f, 0, 0, //green
    .33f, .33f, .66f, 0, 0, //blue
    0, 0, 0, 1, 0    //alpha
};

ColorFilter colorFilter = new ColorMatrixColorFilter(colorMatrix);
iv.setColorFilter(colorFilter);

我想获得像Instagram这样的过滤器集合。我的问题是这是我应该创建图像过滤器的方式还是有更好的方法?

1 个答案:

答案 0 :(得分:1)

一些提示:

  • 你在这看来做的是color transformation,非常类似于欧几里德向量的转换。两者都用于科学和计算机图形(着色器)。这样的步骤很可能是一个更复杂的图像处理器的“色彩校正”的最后阶段。

  • 为了让事情变得更有趣,请阅读kernels (convolution matrices),其中还包含相邻像素,例如模糊图像,或增强“漫画效果”的轮廓。

  • 想想简单:所有这些主题都聚集在image processing, a form of signal processing下。无论您处理2D或3D图像,单声道(1D)音频流还是来自A / D转换器的数据,基本保留;花车没有颜色。