Java OpenCV Android图像路径

Java OpenCV Android图像路径,java,android,opencv,Java,Android,Opencv,我是android平台的新手,我正在尝试创建一个用于图像处理的android应用程序。。。所以我想将openCV与之集成 我创建了一个EventProcessImage,它应该调用一个简单的openCV库并执行高斯平滑 public void processImage(View v) { try { IplImage image = cvLoadImage("IMG/res.jpg"); System.out.println(image.depth());//null pointer e

我是android平台的新手,我正在尝试创建一个用于图像处理的android应用程序。。。所以我想将openCV与之集成

我创建了一个EventProcessImage,它应该调用一个简单的openCV库并执行高斯平滑

 public void processImage(View v) {



try
{
IplImage image = cvLoadImage("IMG/res.jpg");
System.out.println(image.depth());//null pointer exception here

 if (image != null) 
 {
    cvSmooth(image, image, CV_GAUSSIAN, 10);
    cvSaveImage("IMG/res.jpg", image);
    cvReleaseImage(image);
  }
}
catch(Exception e)
{
    e.printStackTrace();
}

   ImageView portrait = (ImageView) findViewById(R.id.imageView1);
   portrait.setImageResource(R.drawable.abc);
}
显然,我的意图是在完成后,用res.jpg显示和做其他事情

但是我在访问图像时看到一个空指针异常。 显然,Android不允许我们像在独立应用程序中那样使用相对/绝对路径

问题是。。。如何访问此图像

我想解决办法一定很简单

请帮忙

/sdcard/IMG/res.jpeg
用于写入sd卡。 您需要在AndroidManifest.xml上设置sd卡写入权限 像

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


最好使用Environment.getExternalStorageDirectory()而不是SD卡的硬编码路径。这意味着要访问位于“res”目录中的静态图像,我必须首先将其导出到SD卡,然后使用openCV重新加载它?听起来有点迂回(然而,如果这是唯一的选择…我将停止探索:{)。难道没有更直接的方法吗?