android 上的 OpenCV,Mat.rows() = 0

洛伦佐·菲奥罗尼

我有一个指向我选择的图像的 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章