Android高斯模糊在android上非常慢

时间:2018-02-05 19:55:35

标签: android image-processing blur gaussian renderscript

我有一个大约24x24像素的图像,我想要缩放到720 * 720左右。变焦将产生非常像pixeled的图像,如:

enter image description here

我希望像这样模糊以删除块像素:

enter image description here

我尝试使用ScriptIntrinsicBlur来模糊我的Bitmap,但我们可以在ScriptIntrinsicBlur中设置的最大半径是25,我需要更大的像250这样的东西。所以我尝试在我的位图上运行几次ScriptIntrinsicBlur(大约10次)得到足够的结果,但当然现在所有这些循环它很慢,每张图像大约1000毫秒:(

  aRS := getRenderScript;
  while aRadius > 0 do begin
    aInput := TJAllocation.JavaClass.createFromBitmap(aRS, aBitmap);
    aOutPut := TJAllocation.JavaClass.createTyped(aRS, aInput.getType());
    aScript :=  TJScriptIntrinsicBlur.javaclass.create(aRS, TJElement.javaclass.U8_4(aRS));
    aTmpRadius := Min(25, aRadius);
    aRadius := aRadius - aTmpRadius;
    ascript.setRadius(aTmpRadius);
    ascript.setInput(aInput);
    ascript.forEach(aOutput);
    aoutput.copyTo(aBitmap);
    ascript := nil;
    aInput := nil;
    aOutPut := nil;
  end;
  aRS := nil;

我可以做些什么来提高速度?

0 个答案:

没有答案