Highgui.imread返回大小为0x0的Mat

时间:2015-06-15 16:34:06

标签: android image opencv

我第一次在Android上使用OpenCV和Eclipse。 我使用以下行读取图像,然后使用下一行来获取其大小:

Mat m = Highgui.imread(“C:/Users/IMG_5940.jpg”); 大小= m.size();

和Size返回0x0。 因此,我无法将图像转换为位图,我收到错误:宽度和高度必须是> 0

关于我做错了什么的想法?

1 个答案:

答案 0 :(得分:0)

通常当imread返回0到0像素的图像时,无法读取图像。您有两种选择:

首先,您可以将IMG_5940.jpg作为Android项目中的资源,并使用OpenCV Utils.loadResource函数将其导入,例如:

Mat img = Utils.loadResource(context, referenceID, Highgui.CV_LOAD_IMAGE_COLOR);

其次,如果您知道 Android 文件系统上图像的位置,例如,您是从相机获取图像,或者您已要求用户提供有效图像,那么您可以像File object一样使用imread函数,如下所示:

Mat img = Highgui.imread(file.getAbsolutePath());