Можно ли разрезать растровое изображение на мелкие кусочки, не загружая все это в память?

Я работаю над приложением для обработки изображений для Android, которое распознает нотную запись из изображений, сделанных с нотных листов.

Я попытался загрузить файл все изображение в Bitmap с помощью BitmapFactory . decodeFile (imgPath) , но поскольку на моем телефоне недостаточно памяти, я получаю ошибку «Размер кучи виртуальной машины». Чтобы обойти это, я хотел бы разрезать полное изображение на более мелкие части, но я не уверен, как это сделать.

Я также видел, что можно уменьшить размер памяти Bitmap, используя свойство inSampleSize класса BitmapFactory.Option, но если я это сделаю, я не получу изображение с высоким разрешением, необходимое для процесса распознавания нот.

Есть ли способ справиться с этим, не переходя к NDK?

19
задан Tim Stone 28 January 2011 в 07:34
поделиться