OpenCV на андроиде, Mat.rows () = 0 - PullRequest
0 голосов
/ 28 сентября 2018

У меня есть Uri, указывающий на изображение, которое я выбрал.Я хочу сохранить изображение в переменной Mat, отредактировать его и показать в ImageView.До сих пор я просто хочу загрузить изображение в переменную Mat и показать его без правок.Это мой код:

Uri uri = data.getData();

Mat image = Imgcodecs.imread(uri.getPath());

//several edits in future

Bitmap resultBitmap = Bitmap.createBitmap(image.rows(), image.cols(),Bitmap.Config.ARGB_8888);
Utils.matToBitmap(image, resultBitmap);
imageView.setImageBitmap(resultBitmap);

Строка, которая выдает ошибку: Bitmap resultBitmap = Bitmap.createBitmap(image.rows(), image.cols(),Bitmap.Config.ARGB_8888);, и говорит, что image.rows() и image.cols() не может быть 0.

Это логика, котораяесли размеры равны (0, 0), это дает ошибку, но я не могу понять, почему они равны 0.

1 Ответ

0 голосов
/ 29 сентября 2018

Проблема заключалась в том, что я передавал неправильный URI на imread, который поэтому не удался и возвратил пустой Mat.Как Дэн Машек предположил, что я вызвал метод empty, который возвратил true, и я обнаружил, что передал неправильный URI.

...