0

ぼかし効果やサークルオーバー画像などの画像処理を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);
}

画像の特定のポイントでぼかし効果を実行するアイデアを誰かに教えてもらえますか?

4

1 に答える 1

0

私は実際にこれに似た何かに答えました。

これの逆を試してください。

元の画像のコピーを2つ作成するのがあなたのやりたいことだと思います。1つは明確で、もう1つはぼやけています(必要なフィルターを使用)。次に、ぼかしたい領域のすべてのピクセルについて、その値をぼかした画像から鮮明な画像にコピーします。

すべてのピクセルで個別にブラーフィトラーを実行すると、時間の無駄になる可能性があります。(リンクのように)何か凝ったことをしようとしているのでない限り、一度それを実行して、一種のルックアップテーブルとして使用してください。

ただし、これはモバイルで行っているため、特別なメモリ管理を行う必要がある場合があります。その場合は、元の画像のトリミングされたバージョン(ぼやけた領域よりもわずかに大きいサイズ)を取得し、そのサブ画像のみをぼかします。次に、サブイメージのどのピクセルが元のピクセルのどのピクセルに対応するかを追跡し、それらの値をコピーするか、プロジェクトで機能するものをコピーします。

于 2012-10-23T15:49:53.837 に答える