Android OpenCV3.0-Imgcodecs.imread返回空文件
我是OpenCV的新手-在Android上使用OpenCV310 当我对存在的文件调用Imgcodecs.imread时,我总是得到一个空的Mat。 有人能帮帮我吗 代码是:Android OpenCV3.0-Imgcodecs.imread返回空文件,android,opencv,imread,Android,Opencv,Imread,我是OpenCV的新手-在Android上使用OpenCV310 当我对存在的文件调用Imgcodecs.imread时,我总是得到一个空的Mat。 有人能帮帮我吗 代码是: File root = Environment.getExternalStorageDirectory(); File file = new File(root, "1.jpg"); Log.e(getString(R.string.app_name), "File exists: " + file.exists());
File root = Environment.getExternalStorageDirectory();
File file = new File(root, "1.jpg");
Log.e(getString(R.string.app_name), "File exists: " + file.exists());
Log.e(getString(R.string.app_name), "Trying to read: " + file.getAbsolutePath());
Mat BGRMat = Imgcodecs.imread(file.getAbsolutePath(),Imgcodecs.CV_LOAD_IMAGE_COLOR);
if(BGRMat.empty())
{
Log.e(getString(R.string.app_name), "Failed, Empty! Details: " + BGRMat);
}
else
{
Log.e(getString(R.string.app_name), "Success! Details: " + BGRMat);
}
我得到的日志是:
07-05 20:53:26.941 28555-28555/com.sunshine.spotdetector E/SpotDetector:文件存在:真
07-05 20:53:26.941 28555-28555/com.sunshine.spotdetector E/spotdetector:尝试读取: /存储/模拟/0/1.jpg
07-05 20:53:26.941 28555-28555/com.sunshine.spotdetector E/spotdetector:失败,为空! 详细信息:Mat[0*0*CV_8UC1,isCont=false,ISUBMAT=false, nativeObj=0x7f97b2a660,dataAddr=0x0]
提前谢谢 让我回答我自己的问题。这是一个愚蠢的错误: 我忘了添加android.permission.READ\u外部存储,
所以它返回的是0号垫如果答案正确,您应该接受自己的答案。