【问题标题】:Unhandled exception in face detection人脸检测中未处理的异常
【发布时间】:2013-02-10 14:45:36
【问题描述】:

我正在使用代码cascade classifier for face detection(有时也使用其他代码)。但是程序在以下行终止:

face_cascade.detectMultiScale(
    frame_gray, faces, 1.1, 2, 0|CV_HAAR_SCALE_IMAGE, Size(30, 30) );

基本上在size(30,30);。它给出的错误是“未处理的异常”,更多的是“opencv_objdetectd.dll”。我在互联网上搜索过,但找不到类似的问题或解决方案。我会很感激任何帮助,因为我已经被困了很多天了。

【问题讨论】:

  • 您必须提供更多代码,我们才能为您提供帮助。
  • 这里是代码链接。我没有改变任何东西docs.opencv.org/doc/tutorials/objdetect/cascade_classifier/…
  • 如果 Size(30, 30) 有问题,您可以尝试将其移动到自己的行。但是我认为它是一个普通的结构,这意味着它在内存分配上崩溃,这可能意味着您在早些时候已经覆盖了内存。
  • 那我该怎么办..就像我说我已经删除了任何其他代码..我只运行面部检测代码。我做错了什么

标签: c++ opencv face-detection


【解决方案1】:

“未处理的异常”绝不来自 opencv 代码库。

问题可能不是代码,而是其他问题,例如在发布模式下使用调试 dll 或反之,错误的 32/64 位 dll 等等。

我只是不相信你,Size(30,30) 是问题所在。试试:

face_cascade.detectMultiScale( frame_gray, faces ); //其余的有默认参数

级联检测通常由于以下两个原因之一而失败:

  1. 未找到 haar 级联。检查一下。

    如果(!face_cascade.load(“bla.xml”)) { // 错误 }

  2. 您的图片无效

    如果 (frame_gray.empty()) { // 错误 }

【讨论】:

  • 确定版本是正确的,因为之前使用过带有轮廓查找的库。你能提一下 dll 或其他要求吗?可能是我遗漏了一些东西。我用过 imageproc、highgui、core、objdetect .. X86 、vc10 文件夹中的所有调试版本...
猜你喜欢
  • 2013-09-24
  • 2012-04-17
  • 2013-10-06
  • 2019-11-18
  • 1970-01-01
  • 2021-08-27
  • 2014-09-23
  • 2017-02-23
  • 1970-01-01
相关资源
最近更新 更多