cvNorm未被识别为OpenCV函数

时间:2013-01-25 20:00:28

标签: android opencv image-comparison

我正在尝试与手机SD卡中的图像进行比较,所以我写了这段代码。

package com.example.test;

import java.io.File;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    File img1=new File("mnt/sdcard/xx/IMG-20130123-WA0004.jpg");
    File img2=new File("mnt/sdcard/xx/IMG-20130124-WA0000.jpg");
    double l2_norm = cvNorm( img1, img2 );
}
}

我在我的Eclipse Workspace中将OpenCV导入为项目并将其设置为库。我的测试项目使用这个库。

现在,我收到此错误The method cvNorm(File, File) is undefined for the type MainActivity

我搜索了超过3个小时的正确代码或方法,但似乎没有工作,Eclipse没有建议正确的导入。有人能告诉我正确的代码吗?

1 个答案:

答案 0 :(得分:1)

这是Java。您必须导入类并按包引用它们。

import android.os.Bundle;
import android.app.Activity;
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.highgui.Highgui;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Mat img1 = Highgui.imread("mnt/sdcard/xx/IMG-20130123-WA0004.jpg");
        Mat img2 = Highgui.imread("mnt/sdcard/xx/IMG-20130124-WA0000.jpg");
        double l2_norm = Core.norm(img1, img2);
    }
}