如何为loadResource()设置“context”以加载可绘制的图像

时间:2015-09-24 11:16:33

标签: android opencv android-drawable android-context

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

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

非常感谢!

4 个答案:

答案 0 :(得分:0)

如果您在活动范围内,请写下this

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

如果您在片段范围内,请使用getActivity()代替this

答案 1 :(得分:0)

只需将您的Activity instance用作MainActivity.this所需的Context

或者你也可以使用你的ApplicationClass实例。

了解上下文here

答案 2 :(得分:0)

您需要详细了解Context

使用getApplicationContext()

Mat img = Utils.loadResource(getApplicationContext(), refrenceimgID, Highgui.CV_LOAD_IMAGE_COLOR);

或者,如果您的代码位于某项活动上,请使用this

Mat img = Utils.loadResource(this, refrenceimgID, Highgui.CV_LOAD_IMAGE_COLOR);

YourActivityName.this

Mat img = Utils.loadResource(YourActivityName.this, refrenceimgID, Highgui.CV_LOAD_IMAGE_COLOR);

答案 3 :(得分:0)

您可以尝试以下代码:

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