我有一个指向我选择的图像的 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。
问题是我向 传递了错误的 URI imread
,因此失败并返回了一个空的 Mat。正如Dan Mašek建议的那样,我调用了empty
返回的方法,true
我发现我传递了错误的 URI。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句