1

Android で OpenCV を使用してビットマップを操作していますが、1500 x 2048 の解像度など、スケール イメージではなく、元のイメージを操作したいときにメモリ不足エラーが発生します。画像をスケーリングすると、すべて問題ありませんが、画像の品質が非常に重要であるため、元の画像で操作する必要があります。これは、そのコードを使用して Mat をビットマップに変換したい場合に発生します。

private Bitmap convertMatToBitmap(Mat image) {
    Bitmap bitmap = null;

    try {
        bitmap = Bitmap.createBitmap(image.width(), image.height(), Config.ARGB_8888);

        org.opencv.android.Utils.matToBitmap(image, bitmap);
    } catch (OutOfMemoryError e) {
        Log.e(TAG, "Out of memory exception in convertMatToBitmap: " + e.getMessage());
    } catch(Exception e) {
        Log.e(TAG, "convertMatToBitmap throws an exception: " + e.getMessage());
    }

    return bitmap;
}

誰かがどうすればいいのか考えていますか?

4

0 に答える 0