从命令行在Ubuntu上运行Java OpenCV

时间:2016-01-08 16:59:59

标签: java opencv ubuntu

我试图使用OpenCV库编译并运行一个简单的Java代码示例,在Ubuntu 14.04 64位上,可以在OpenCV的文档中找到: Java OpenCV Documentation

T

由于这只是一个简单的测试,我真的不想使用任何复杂的建筑系统。所以我用以下命令编译:

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.CvType;
import org.opencv.core.Scalar;

class SimpleSample
{
    static
    {
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
    }

    public static void main(String[] args)
    {
        System.out.println("Welcome to OpenCV " + Core.VERSION);
        Mat m = new Mat(5, 10, CvType.CV_8UC1, new Scalar(0));
        System.out.println("OpenCV Mat: " + m);
        Mat mr1 = m.row(1);
        mr1.setTo(new Scalar(1));
        Mat mc5 = m.col(5);
        mc5.setTo(new Scalar(5));
        System.out.println("OpenCV Mat data:\n" + m.dump());
    }
}

但是我无法运行该应用程序,因为当我打电话时:     java SimpleSample

我面临以下例外:

javac -cp "/usr/share/OpenCV/java/opencv-248.jar" SimpleSample.java

有人可以帮我运行这个应用程序吗?

3 个答案:

答案 0 :(得分:2)

opencv-248.jar不在CLASSPATH上。您可以按如下方式运行它:

typedef struct card{
    const char *suits;
    const char *decks;
    int value;
};

从源代码编译并将 libopencv_java248.so 复制到$ JAVA_HOME / jre / lib / amb64 /目录中。此平台特定文件未包含在jar文件中。在没有安装此文件的情况下运行示例程序将得到" java.lang.UnsatisfiedLinkError:java.library.path中没有opencv_java248" 错误。另请注意,需要为编译期间生成的特定于平台的文件安装Apache Ant。

答案 1 :(得分:1)

我设法解决了这个问题。 在Ubuntu 14.04 64bit中,您可以使用以下命令从命令行运行代码:

LD_LIBRARY_PATH=/usr/lib/jni/ java -cp /usr/share/OpenCV/java/opencv-248.jar:. SimpleSample

答案 2 :(得分:0)

可以使用-D定义OpenCV本机二进制库路径(在我的情况下为java -cp /opt/local/share/OpenCV/java/opencv-343.jar:. -Djava.library.path=/opt/local/share/OpenCV/java/ SimpleCV ):

drop_first