0

我正在尝试与手机 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 );
}
}

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

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

我搜索了超过 3 个小时来寻找正确的代码或方法,但似乎没有一个有效,而且 Eclipse 没有建议正确的导入。有人可以告诉我正确的代码吗?

4

1 回答 1

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);
    }
}
于 2013-01-25T20:46:25.833 回答