NATIVE_LIBRARY_NAME无法解析或不是字段

时间:2015-08-11 09:27:31

标签: java eclipse opencv opengl

我正在使用java中的开放图形库通过eclipse 4.5.0创建一个人脸检测程序,并将一个jar文件添加到java项目中,用于打开CV 2.4.1以及我已经尝试了在web上指定的所有方法通过eclipse IDE中提供的构建路径选项设置NATIVE_LIBRARY_NAME的位置,但仍无法找到解决方案......请帮我解决此错误

我的面部检测Java文件

import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.MatOfRect;
import org.opencv.core.Point;
import org.opencv.core.Rect;
import org.opencv.core.Scalar;
import org.opencv.highgui.Highgui;
import org.opencv.objdetect.CascadeClassifier;

public class FaceDetection 
{
    public static void main(String[] args)
    {
        System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
        System.out.println("\nRunning FaceDetector");

        CascadeClassifier faceDetector = new CascadeClassifier(FaceDetection.class.getResource("haarcascade_frontalface_alt.xml").getPath());
        Mat image = Highgui
                .imread(FaceDetection.class.getResource("shekhar.JPG").getPath());

        MatOfRect faceDetections = new MatOfRect();
        faceDetector.detectMultiScale(image, faceDetections);

        System.out.println(String.format("Detected %s faces", faceDetections.toArray().length));

        for (Rect rect : faceDetections.toArray()) 
        {
            Core.rectangle(image, new Point(rect.x, rect.y), new Point(rect.x + rect.width, rect.y + rect.height),
                    new Scalar(0, 255, 0));
        }

        String filename = "ouput.png";
        System.out.println(String.format("Writing %s", filename));
        Highgui.imwrite(filename, image);
    }
}

我已关注此链接 https://blog.openshift.com/day-12-opencv-face-detection-for-java-developers/

1 个答案:

答案 0 :(得分:2)

由于您提供了OpenCV的jar文件但未配置本机库位置。

您需要首先在您的计算机上安装OpenCV,并使用安装OpenCV后创建的文件夹(或使用已下载的jar文件)在构建路径中提供jar文件的路径。此外,本机库位置的位置应该是" opencv-2.4.7 / build / lib文件夹"

下载OpenCV的链接 - https://opencv.org/releases.html

请参阅此链接以配置eclipse - http://docs.opencv.org/2.4/doc/tutorials/introduction/java_eclipse/java_eclipse.html