Java OpenCV Android图像路径
我是android平台的新手,我正在尝试创建一个用于图像处理的android应用程序。。。所以我想将openCV与之集成 我创建了一个EventProcessImage,它应该调用一个简单的openCV库并执行高斯平滑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
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重新加载它?听起来有点迂回(然而,如果这是唯一的选择…我将停止探索:{)。难道没有更直接的方法吗?