byte
一連の0と-1(255)の配列があります。これは、大津アルゴリズムを使用した2値化の結果です。私が使用した:
BitmapFactory.Options opt = new BitmapFactory.Options();
opt.inDither = true;
opt.inPreferredConfig = Bitmap.Config.RGB_565; // I have tried ARGB_8888 aswell
Bitmap out = BitmapFactory.decodeByteArray(data, 0, data.length, opt);
残念ながら、nullを返します。に関する他の質問と同じようにBitmapFactory.decodeByteArray()
。
ネストされたforループなどの他のメソッドをテストしましたが、機能しますが、特に大きな画像の場合、処理に時間がかかりすぎます。
これは私が現在二値化を生成するために使用しているものですdata
:
ptr = 0;
while (ptr < srcData.length)
{
monoData[ptr] = ((0xFF & srcData[ptr]) >= threshold) ? (byte) 255 : 0;
ptr ++;
}
この問題を解決するためのより良い方法に私を導いていただければ幸いです。ありがとう!