我想基于滑块值应用图像的锐化效果。我已经通过使用滑块值应用了锐化效果,但是它不能正确地锐化图像。如何使用滑块值更改锐化矩阵?
以下代码用于使用默认矩阵锐化图像。
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 };