Как сконвертировать bitmap в IplImage в JavaCV?

Здравствуйте. При переносе OpenCV приложения с C++ на Android передо мной возникла проблема.

У меня есть изображение в формате bitmap, которое мне нужно сконвертить в IplImage для дальнейшей работы. Я попытался сделать это так:
void preparingBeforeFindContours(Bitmap image){
        Igray = IplImage.create(image.getWidth(),image.getHeight(), IPL_DEPTH_8U, 1);
        image.copyPixelsToBuffer(Igray.getByteBuffer());

но приложение вылетает с ошибкой:
Caused by: java.lang.RuntimeException: Buffer not large enough for pixels

Есть ли альтернативные способы конвертации либо мб как то можно увеличить размер буфера?
  • Вопрос задан
  • 191 просмотр
Пригласить эксперта
Ответы на вопрос 1
zagayevskiy
@zagayevskiy Куратор тега Android
Android developer at Yandex
create последним параметром принимает количество каналов. По-моему, в андроиде нельзя создать битмап с одним каналом. Вот они туда и не помещаются.

P.S. а вам не проще NDK поюзать и не переписывать всё на джаву?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы