Android 如何设置;上下文“;用于loadResource()加载可绘制图像

Android 如何设置;上下文“;用于loadResource()加载可绘制图像,android,opencv,android-drawable,android-context,Android,Opencv,Android Drawable,Android Context,我正在尝试打开一个jpeg文件,它是我的应用程序的可绘制文件。下面的方法我不知道如何设置变量“context”(这是函数loadResource的第一个参数) 我的目标就是加载这张图像,提取一些特征,并将其与从相机抓取的帧进行比较。为此,我想要一些好的建议教程(我将使用一些特征匹配方法) 非常感谢 如果您在活动范围内,只需编写此: Mat img = Utils.loadResource(this, refrenceimgID, Highgui.CV_LOAD_IMAGE_COLOR); Img

我正在尝试打开一个jpeg文件,它是我的应用程序的可绘制文件。下面的方法我不知道如何设置变量“context”(这是函数loadResource的第一个参数)

我的目标就是加载这张图像,提取一些特征,并将其与从相机抓取的帧进行比较。为此,我想要一些好的建议教程(我将使用一些特征匹配方法)


非常感谢

如果您在活动范围内,只需编写此

Mat img = Utils.loadResource(this, refrenceimgID, Highgui.CV_LOAD_IMAGE_COLOR);
Imgproc.cvtColor(img, gryimg, Imgproc.COLOR_RGB2BGRA);
Mat img = Utils.loadResource(this, refrenceimgID, Highgui.CV_LOAD_IMAGE_COLOR);
Mat img = Utils.loadResource(YourActivityName.this, refrenceimgID, Highgui.CV_LOAD_IMAGE_COLOR);

如果您在片段范围内,请使用
getActivity()
而不是
this

只需将
活动实例
用作
MainActivity。在需要
上下文的地方使用

或者也可以使用ApplicationClass实例


阅读上下文

您需要了解更多

使用
getApplicationContext()

或者,如果您的代码在活动中,请使用

Mat img = Utils.loadResource(this, refrenceimgID, Highgui.CV_LOAD_IMAGE_COLOR);
Imgproc.cvtColor(img, gryimg, Imgproc.COLOR_RGB2BGRA);
Mat img = Utils.loadResource(this, refrenceimgID, Highgui.CV_LOAD_IMAGE_COLOR);
Mat img = Utils.loadResource(YourActivityName.this, refrenceimgID, Highgui.CV_LOAD_IMAGE_COLOR);
您的活动名称。此

Mat img = Utils.loadResource(this, refrenceimgID, Highgui.CV_LOAD_IMAGE_COLOR);
Imgproc.cvtColor(img, gryimg, Imgproc.COLOR_RGB2BGRA);
Mat img = Utils.loadResource(this, refrenceimgID, Highgui.CV_LOAD_IMAGE_COLOR);
Mat img = Utils.loadResource(YourActivityName.this, refrenceimgID, Highgui.CV_LOAD_IMAGE_COLOR);

您可以尝试以下代码:

Context c= this;
Resources res2 = c.getResources();
Drawable drawable = res2.getDrawable(R.drawable.YOUR_DRAWABLE_NAME);

您不知道什么是
上下文
吗?感谢使用getApplicationContext()它可以工作!。。。我知道这一点,因为我在从相机抓取的相框上用加载图像的大小写了一个文本(我正在使用onCameraFrame函数)。。。但是现在,如果我想显示这个图像而不是从相机抓取的图像(只需让函数返回这个新垫子),它就不起作用(我看到黑屏)