Android:OpenCV:imwrite总是返回false,无法写入

这段代码用于工作,但在 Android 4.2和OpenCV 2.4.4它失败,但我不知道为什么.任何人都可以为我散发任何光吗?

感谢任何帮助.

巴兹

public void SaveImage (Mat mat) {
  Mat mIntermediateMat = new Mat();

  Imgproc.cvtColor(mRgba,mIntermediateMat,Imgproc.COLOR_RGBA2BGR,3);

  File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
  String filename = "barry.png";
  File file = new File(path,filename);

  Boolean bool = null;
  filename = file.toString();
  bool = Highgui.imwrite(filename,mIntermediateMat);

  if (bool == true)
    Log.d(TAG,"SUCCESS writing image to external storage");
  else
    Log.d(TAG,"Fail writing image to external storage");
  }

布鲁尔每次回来都是假的.文件路径/名称应该为用户#0应该是(“存储/仿真/ 0 /图片/ barry.png”),目录图片在那里.

什么可以使imwrite返回false?

我可以把mat转换成一个bmp并自己保存(我在非OpenCV应用程序中的其他地方),但是由于Highgui.imwrite在那里,并且当我写入2.4.0并在Android上测试时,这个代码用于工作3.x,我想用它,如果可以的话.

非常感谢

巴兹

解决方法

我不敢相信[捂脸].

将其添加到您的清单文件中Barry:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

有人会来吗?我设法从清单中删除写许可,所以真的不应该有任何惊奇,它不会写…

卫生署.

巴里

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...