——》 Highgui.imwrite("/data/pic1111.png", mat)失败,且找不到报错。
ok --》直接使用以下代码,自己保存mat,从而可以跟踪问题。
// java自己写的 实现方法
Bitmap bmp_new = Bitmap.createBitmap(mat.cols(), mat.rows(), Bitmap.Config.ARGB_8888);
Utils.matToBitmap(mat, bmp_new, false); // Mat->Bitmap

File f = new File("pic1111.jpg");
if (f.exists()) {
f.delete();
}
try {
FileOutputStream out = new FileOutputStream(f);
bmp_new.compress(Bitmap.CompressFormat.PNG, 90, out);
out.flush();
out.close();
Log.i("SaveMat", "已经保存");
} catch (FileNotFoundException e) {
// TODO: handle exception
Toast.makeText(this.context, e.getMessage()+"error1", 1).show();
} catch (IOException e) {
// TODO Auto-generated catch block
Toast.makeText(this.context, e.getMessage()+"error2", 1).show();
}
——》 跟踪到问题 "Read-only file system"
ref:http://stackoverflow.com/questions/10787942/android-read-only-file-system-ioexception
找到问题:Because you are trying to write the file to root, you need to pass the file path to your file directory.
File f = new File("pic1111.jpg");
FileOutputStream out = new FileOutputStream(f);
改为
File f = new File(context.getFilesDir().getPath().toString()+"/pic1111.jpg");
FileOutputStream out = new FileOutputStream(f);
或者(!!推荐使用)
FileOutputStream out = context.openFileOutput("pic11121.jpg", Context.MODE_PRIVATE);

相关文章:

  • 2021-06-13
  • 2021-11-30
  • 2021-05-16
  • 2021-12-04
  • 2021-10-27
  • 2022-12-23
  • 2021-09-30
  • 2021-12-09
猜你喜欢
  • 2021-08-17
  • 2021-06-01
  • 2022-02-08
  • 2021-04-07
  • 2021-10-25
  • 2022-12-23
  • 2022-01-01
相关资源
相似解决方案