[英]Face Detection using Opencv : javacv class not found
任务工作流程:使用网络摄像头捕获照片并保存在目录中,然后加载该图像以进行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)
note注意在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)
note注意在Apache Tomcat / 6.0.24日志中可以找到根本原因的完整堆栈跟踪。
我使用了try catch,但是出现了异常。该程序在Windows中运行时没有问题。
错误1:
libtbb.so是您需要安装的英特尔线程构建模块库。由于正在加载其他本机库,因此您可能尚未安装tbb,或者它不在您的usr / lib文件夹中。
错误2:这是缺少jar文件错误。 检查运行时应用程序类路径中是否包含javacv jar文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.