Java OpenCV级联分类器错误
我试图通过网络摄像头进行人脸检测,但我遇到了一个错误,一个错误 在做了一些测试之后,我发现这行代码产生了错误Java OpenCV级联分类器错误,java,opencv,face-detection,Java,Opencv,Face Detection,我试图通过网络摄像头进行人脸检测,但我遇到了一个错误,一个错误 在做了一些测试之后,我发现这行代码产生了错误 CascadeClassifier face_cascade = new CascadeClassifier(); 我犯的错误是 Exception in thread "main" java.lang.UnsatisfiedLinkError: org.opencv.objdetect.CascadeClassifier.CascadeClassifier_0()J at o
CascadeClassifier face_cascade = new CascadeClassifier();
我犯的错误是
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.opencv.objdetect.CascadeClassifier.CascadeClassifier_0()J
at org.opencv.objdetect.CascadeClassifier.CascadeClassifier_0(Native Method)
at org.opencv.objdetect.CascadeClassifier.<init>(CascadeClassifier.java:38)
at CamCapture.main(CamCapture.java:24)
线程“main”java.lang.unsatifiedLinkError中的异常:org.opencv.objdetect.CascadeClassifier.CascadeClassifier_0()J
位于org.opencv.objdetect.CascadeClassifier.CascadeClassifier_0(本机方法)
位于org.opencv.objdetect.CascadeClassifier(CascadeClassifier.java:38)
位于CamCapture.main(CamCapture.java:24)
有人知道怎么解决这个问题吗
我终于找到了答案 我应该在使用级联分类器之前加载库。 所以只要把这个代码
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
在cascadeclassifier之前。尝试在BaseLoaderCallBack中初始化cascadeclassifier对象。在初始化CasCadeClassifier对象之前,需要完全加载OpenCV 将其放置在onCreate()或onResume()中: 将baseCallBack定义为:
private BaseLoaderCallback baseCallBack = new BaseLoaderCallback(this) {
@Override
public void onManagerConnected(int status) {
if (status == SUCCESS) {
try {
initClassifiers(); // initialise here
} catch (IOException e) {
e.printStackTrace();
}
Log.d("OpenCVLoad", "OpenCV Loaded");
} else {
super.onManagerConnected(status);
}
}
};
你可以把答案当作真实的答案来接受,我相信,这样问题就可以解决了。它对我不起作用…线程“main”中的异常java.lang.unsatifiedlinkerror:org.opencv.objdetect.CascadeClassifier.CascadeClassifier_1()J在org.opencv.objdetect.CascadeClassifier.CascadeClassifier_1(本机方法)
private BaseLoaderCallback baseCallBack = new BaseLoaderCallback(this) {
@Override
public void onManagerConnected(int status) {
if (status == SUCCESS) {
try {
initClassifiers(); // initialise here
} catch (IOException e) {
e.printStackTrace();
}
Log.d("OpenCVLoad", "OpenCV Loaded");
} else {
super.onManagerConnected(status);
}
}
};