【问题标题】:Face Detection using Opencv : javacv class not found使用 Opencv 进行人脸检测:找不到 javacv 类
【发布时间】:2013-10-05 08:05:36
【问题描述】:

任务工作流程: 使用网络摄像头捕获照片并保存在目录中并加载该图像以进行 opencv 检测(人脸)

第一次在 Ubuntu 中运行程序时,图像没有被保存并发生异常。

错误 1:

HTTP 状态 500 -

输入异常报告

消息

description The server encountered an internal error () that prevented it from fulfilling this request.

异常

javax.servlet.ServletException: Servlet execution threw an exception
root cause

java.lang.UnsatisfiedLinkError: /var/cache/tomcat6/temp/javacpp8724578391270070/libjniopencv_core.so: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /var/cache/tomcat6/temp/javacpp8724578391270070/libopencv_core.so.2.4)
    java.lang.ClassLoader$NativeLibrary.load(Native Method)
    java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1750)
    java.lang.ClassLoader.loadLibrary(ClassLoader.java:1646)
    java.lang.Runtime.load0(Runtime.java:787)
    java.lang.System.load(System.java:1022)
    com.googlecode.javacpp.Loader.loadLibrary(Loader.java:566)
    com.googlecode.javacpp.Loader.load(Loader.java:489)
    com.googlecode.javacpp.Loader.load(Loader.java:431)
    com.googlecode.javacv.cpp.opencv_core.<clinit>(opencv_core.java:136)
    java.lang.Class.forName0(Native Method)
    java.lang.Class.forName(Class.java:266)
    com.googlecode.javacpp.Loader.load(Loader.java:453)
    com.googlecode.javacv.cpp.opencv_imgproc.<clinit>(opencv_imgproc.java:97)
    java.lang.Class.forName0(Native Method)
    java.lang.Class.forName(Class.java:266)
    com.googlecode.javacpp.Loader.load(Loader.java:453)
    com.googlecode.javacv.cpp.opencv_highgui.<clinit>(opencv_highgui.java:85)
    facerecognition.javafaces.TestServlet.doPost(TestServlet.java:104)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause

java.lang.UnsatisfiedLinkError: /var/cache/tomcat6/temp/javacpp8724578391270070/libopencv_core.so.2.4: libtbb.so: cannot open shared object file: No such file or directory
    java.lang.ClassLoader$NativeLibrary.load(Native Method)
    java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1750)
    java.lang.ClassLoader.loadLibrary(ClassLoader.java:1646)
    java.lang.Runtime.load0(Runtime.java:787)
    java.lang.System.load(System.java:1022)
    com.googlecode.javacpp.Loader.loadLibrary(Loader.java:566)
    com.googlecode.javacpp.Loader.load(Loader.java:481)
    com.googlecode.javacpp.Loader.load(Loader.java:431)
    com.googlecode.javacv.cpp.opencv_core.<clinit>(opencv_core.java:136)
    java.lang.Class.forName0(Native Method)
    java.lang.Class.forName(Class.java:266)
    com.googlecode.javacpp.Loader.load(Loader.java:453)
    com.googlecode.javacv.cpp.opencv_imgproc.<clinit>(opencv_imgproc.java:97)
    java.lang.Class.forName0(Native Method)
    java.lang.Class.forName(Class.java:266)
    com.googlecode.javacpp.Loader.load(Loader.java:453)
    com.googlecode.javacv.cpp.opencv_highgui.<clinit>(opencv_highgui.java:85)
    facerecognition.javafaces.TestServlet.doPost(TestServlet.java:104)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

注意 Apache Tomcat/6.0.24 日志中提供了根本原因的完整堆栈跟踪。

当程序第二次运行时,图像被保存但发生异常

错误 2:

HTTP 状态 500 -

输入异常报告

消息

描述服务器遇到了一个内部错误(),导致它无法完成这个请求。

异常

javax.servlet.ServletException: Servlet execution threw an exception
root cause

java.lang.NoClassDefFoundError: Could not initialize class com.googlecode.javacv.cpp.opencv_highgui
    facerecognition.javafaces.TestServlet.doPost(TestServlet.java:104)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

注意 Apache Tomcat/6.0.24 日志中提供了根本原因的完整堆栈跟踪。

我用了try catch,但还是出现异常。程序在Windows下运行没有问题。

【问题讨论】:

    标签: java php jsp opencv javacv


    【解决方案1】:

    错误 1:

    libtbb.so 是 Intel 线程构建模块库,你需要安装它。由于正在加载其他原生库,要么你没有安装 tbb,要么它不在你的 usr/lib 文件夹中。

    错误 2: 这是缺少 jar 文件错误。检查您的运行时应用程序类路径中是否包含 javacv jar 文件。

    【讨论】:

      猜你喜欢
      • 2012-05-18
      • 1970-01-01
      • 2013-03-23
      • 2017-10-02
      • 1970-01-01
      • 1970-01-01
      • 2012-06-25
      • 2014-04-16
      • 2014-06-12
      相关资源
      最近更新 更多