Матричные записи для бинаризации внутри RenderScriptIntrinsicColorMatrix - PullRequest
0 голосов
/ 24 февраля 2019

Я пытаюсь выполнить оптическое распознавание с помощью библиотеки tess two для Android.

Сейчас я передаю TessBaseApi растровое изображение, которое было преобразовано в двоичную форму с помощью RenderscriptInstrinsicColorMatrix.После обработки растровое изображение выглядит не так уж плохо.Тем не менее, я вижу различные оттенки черного на заднем плане, которые я пытаюсь исключить из растрового изображения.Я действительно не очень разбираюсь в выборе записей в следующей матрице 4X4.Я просто знаю, что это 4X4 из-за компонентов ARGB в каждом пикселе внутри объекта Bitmap.

Я знаю, что, настраивая эти числовые записи, я могу каким-то образом устранить различные оттенки черного в растровом изображении.вот изображение растрового изображения после его обработки с помощью RenderScript: enter image description here

Вот код для RenderScriptIntrinsicColorMatrix:

Bitmap out = Bitmap.createBitmap(in.getWidth(),in.getHeight(),in.getConfig());
    Allocation inputA = Allocation.createFromBitmap(rs,in);
    Allocation outA = Allocation.createFromBitmap(rs,out,
            Allocation.MipmapControl.MIPMAP_NONE, Allocation.USAGE_SHARED|Allocation.USAGE_SCRIPT);
    ScriptIntrinsicColorMatrix colorMatrix = ScriptIntrinsicColorMatrix.create(rs, Element.U8_4(rs));
    Matrix4f matrix4f = new Matrix4f(new float[]{-0.33f, -0.33f, -0.33f, 1.0f,
            -0.59f, -0.59f, -0.59f, 1.0f,
            -0.11f, -0.11f, -0.11f, 1.0f,
            1.0f, 1.0f, 1.0f, 1.0f
    });
    colorMatrix.setColorMatrix(matrix4f);
    colorMatrix.forEach(inputA, outA);
    outA.copyTo(out);

Спасибо за любые предложения илипомощь

...