zoukankan      html  css  js  c++  java
  • Highgui.imwrite("/data/pic1111.png", mat)失败,且找不到报错

    ——》 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);

  • 相关阅读:
    机器学习:简介
    对API的理解
    软件的运行
    大数据:数据库概念及分类
    Python:easygui的安装、导入、使用、设置
    Python:模块详解及import本质
    Python:urllib模块的urlretrieve方法
    jQuery操作checkbox实例
    ASP.NET MVC 路由调试工具Router Debugger
    认识Visual Studio 条件编译
  • 原文地址:https://www.cnblogs.com/carl2380/p/4193007.html
Copyright © 2011-2022 走看看