【发布时间】:2018-09-28 19:26:11
【问题描述】:
我有一个 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。
【问题讨论】:
-
很可能
imread失败了,因为发生这种情况时它会返回一个空图像。 -
我怎么知道?我应该如何着手修复它?谢谢,洛伦佐
-
调用
Mat的empty方法。
标签: android opencv opencv4android