当前位置: 首页 > 面试题库 >

OpenCV 3.0.0 FaceDetect示例失败

易宣
2023-03-14
问题内容

我正在尝试使用以下示例代码来使OpenCV运行

我显示以下错误行:

OpenCV Error: Assertion failed (!empty()) in cv::CascadeClassifier::detectMultiScale, file ..\..\..\..\opencv\modules\objdetect\src\cascadedetect.cpp, line 1580
Exception in thread "main" CvException [org.opencv.core.CvException: cv::Exception: ..\..\..\..\opencv\modules\objdetect\src\cascadedetect.cpp:1580: error: (-215) !empty() in function cv::CascadeClassifier::detectMultiScale
]
    at org.opencv.objdetect.CascadeClassifier.detectMultiScale_1(Native Method)
    at org.opencv.objdetect.CascadeClassifier.detectMultiScale(CascadeClassifier.java:176)
    at org.maxbit.opencv.samples.DetectFaceDemo.run(SampleB.java:29)
    at org.maxbit.opencv.samples.SampleB.main(SampleB.java:51)

谁能告诉我该错误是什么意思或如何调试?


问题答案:

我也面临这个问题。问题在于.getPath()返回格式的绝对路径。

例如:“ /
C:/Users/projects/FaceDetection/bin/com/face/detection/haarcascade_frontalface_alt.xml”。

因此,像这样更改代码。

CascadeClassifier faceDecetor = new CascadeClassifier(FaceDetection.class.getResource("haarcascade_frontalface_alt.xml").getPath().substring(1));


 类似资料:
  • 我想使用Android版的PDFBox从头开始创建PDF。应显示图像和表格,以及每个页面的重复PDF标题。 我使用的版本是com。tom_roush:pdfbox android:1.8.10.0,可在https://github.com/TomRoush/PdfBox-Android. 所以我克隆了存储库并尝试运行示例代码。Edit1:这是示例代码的链接:https://github.com/T

  • 问题内容: 我有问题。 环境 问题 任何人都可以帮助我使它起作用? 问题答案: 错误很明显: ld:找不到用于-ltensorflow的库 运行时,您将调用go编译器来编译所需的库,测试文件,然后执行它们。 当编译使用“非纯” go库的程序时,必须使编译器(和链接程序)知道该库。 在编译阶段,编译器也在环境变量中列出的路径中查找库(也): 在OS X和Linux上。 因此,您必须在此变量中添加已编

  • 我有以下代码: 它产生: 但是,我想创建一个看起来像这样的东西: 我如何更改代码,使它包含一个为所有学生的0的Fail列,并提供一个总计?

  • 如果一个worker奔溃,所有分配给它的未完成的任务必须被重新分配。第一个要求就是给master能够检测worker奔溃的能力。master必须能够检测到何时一个worker奔溃了,同时也能确定哪些worker能够执行它的任务。当一个worker奔溃时,它可能最终部分的执行了任务,或者完全执行完了任务但是还未来得及上报结果。如果计算还有副作用的话,为了清理状态某些恢复步骤可能就很有必要了。

  • 恢复状态不是唯一重要的问题。假设这样一个情景:主master正常运行,但是备份master怀疑主master奔溃了。这种错误的怀疑是可能发生的,比如主master的负载非常高导致它的消息被延迟了。备份master会执行所有必要的步骤去接管主master的角色,最终可能会导致它开始执行主master的角色,变成了第二个主master。更糟糕的是,如果某些worker由于网络分区的原因无法和主mast

  • 回想前面我们讨论过,在系统中我们无法控制消息的延迟,所以无法分辨一个客户端是否奔溃还是只是运行很慢。因此,当我们怀疑一个客户端已经奔溃时,我们需要假设它仅仅是运行地很慢,这样在未来它还有可能执行某些其他的动作。