如何使用滑块值来锐化图像?

时间:2019-08-20 11:43:42

标签: colormatrix colorfilter xamarin-android-player

我想基于滑块值应用图像的锐化效果。我已经通过使用滑块值应用了锐化效果,但是它不能正确地锐化图像。如何使用滑块值更改锐化矩阵?

以下代码用于使用默认矩阵锐化图像。

Bitmap originalBitmap = Bitmap.CreateBitmap(this.ImageEditor.processingBitmap);
            Bitmap sharpenBitmap = Bitmap.CreateBitmap(originalBitmap);
            RenderScript script = RenderScript.Create(Context);
            Allocation input = Allocation.CreateFromBitmap(script, originalBitmap, Allocation.MipmapControl.MipmapFull, AllocationUsage.Script);
            Allocation output = Allocation.CreateTyped(script, input.Type);
            float[] matrix = new float[]{ -0.15f, -0.15f, -0.15f, -0.15f, 2.2f, -0.15f, -0.15f,
        -0.15f, -0.15f };
            ScriptIntrinsicConvolve3x3 convolution = ScriptIntrinsicConvolve3x3.Create(script, Element.U8_4(script));
            convolution.SetInput(input);
            convolution.SetCoefficients(matrix);
            convolution.ForEach(output);
            output.CopyTo(sharpenBitmap);

我在这里使用默认矩阵来应用效果

float[] matrix = new float[]{ -0.15f, -0.15f, -0.15f, -0.15f, 2.2f, -0.15f, -0.15f,-0.15f, -0.15f };

0 个答案:

没有答案