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;
}
誰かがどうすればいいのか考えていますか?