android中的图像处理(模糊效果)

时间:2012-10-23 15:11:12

标签: android image-processing

我在android中进行图像处理,例如模糊效果和圆形图像。

我的目标是在特定点和周围模糊图像。我可以使用Gaussian Blur和ConvolutionMatrix对整个图像进行模糊效果。

public static Bitmap applyGaussianBlur(Bitmap src) {

    double[][] GaussianBlurConfig = new double[][] { { 1, 2, 1 }, { 2, 4, 2 }, { 1, 2, 1 } };
    ConvolutionMatrix convMatrix = new ConvolutionMatrix(3);
    convMatrix.applyConfig(GaussianBlurConfig);
    convMatrix.Factor = 16;
    convMatrix.Offset = 0;
    return ConvolutionMatrix.computeConvolution3x3(src, convMatrix);
}

任何人都可以给我一个想法,在图像中的特定点做模糊效果吗?

1 个答案:

答案 0 :(得分:0)

我其实只是回答了类似的事情。

Try doing the inverse of this.

我认为您要做的是创建原始图像的两个副本。一个很清楚,一个是模糊的(使用你想要的任何过滤器)。然后,对于要模糊的区域中的所有像素,将其值从模糊图像复制到清晰图像。

单独对所有像素进行模糊适配可能会浪费您的时间。除非你试图做一些奇特的事情(比如在链接中),否则做一次并将其用作一种查找表。

但是,由于您是在移动设备上执行此操作,因此可能需要执行一些特殊的内存管理。在这种情况下,获取原始图像的裁剪版本(尺寸略大于模糊区域)并仅模糊该子图像。然后跟踪子图像中的哪些像素与原始像素中的哪些像素相对应,并将这些值复制到项目中,或者复制适合您项目的任何像素。