【问题标题】:OpenCV error when loading Fisher face recognizer in Xcode 8在 Xcode 8 中加载 Fisher 人脸识别器时出现 OpenCV 错误
【发布时间】:2017-11-26 06:02:52
【问题描述】:

我在一个 Xcode 项目中导入了 opencv 和 opencv_contrib 框架,在我的 Objective-C++ 文件中,我加载了一个人脸分类器,然后是一个 Fisher 人脸识别器:

// set up classifier, recognizer, and webcam
-(void) setupAnalyzer:(NSString *)faceCascadeName :(NSString *)fisherDatasetName
{
    // load face classifier
    cout << "loading face classifier..." << endl;
    String faceCascadeNameString = string([faceCascadeName UTF8String]);
    faceCascade.load(faceCascadeNameString);

    // load face recognizer
    cout << "loading face recognizer..." << endl;
    fishface = createFisherFaceRecognizer();
    String fisherDatasetNameString = string([fisherDatasetName UTF8String]);
    fishface->load(fisherDatasetNameString);
}

当我从 Swift 调用这个函数时,看起来面部分类器可以很好地加载我项目中的 xml 文件。但是当我尝试在我的项目中使用另一个 xml 文件加载 Fisher 人脸识别器时,Xcode 显示此错误:

OpenCV Error: Unspecified error (File can't open for reading!) in load, file ~/opencv/modules/face/src/facerec.cpp, line 61

libc++abi.dylib:以 cv::Exception 类型的未捕获异常终止:~/opencv/modules/face/src/facerec.cpp:61:错误:(-2) 无法打开文件读!在函数加载中

我尝试以不同的方式重建 OpenCV 框架,但我一直收到同样的错误!

首先,我很困惑为什么程序要查找项目中不包含的源代码(它正在我计算机上的另一个目录中查找 facerec.cpp)。另外,为什么级联分类器加载得很好?这让我觉得这是我构建 opencv_contrib 模块的方式的问题,因为人脸分类器来自 opencv_contrib。但是我尝试重建 opencv_contrib,我仍然得到这个 OpenCV 错误。

任何帮助将不胜感激!

[更新] 构建 contrib 模块不是问题。我手动将模块包含在 Xcode 中,因此它现在正在项目中查找 facerec.cpp,但仍然无法打开 xml 文件进行读取。

【问题讨论】:

    标签: c++ objective-c swift opencv xcode8


    【解决方案1】:

    首先,我很困惑为什么程序要查找项目中不包含的源代码(它正在我计算机上的另一个目录中查找 facerec.cpp)。

    它不搜索文件。它向您显示发生错误的位置。由于您的库是在您的机器上构建的并且具有调试信息,因此它可以为您指出发生错误的源文件和行号。

    libc++abi.dylib:以 cv::Exception 类型的未捕获异常终止:~/opencv/modules/face/src/facerec.cpp:61:错误:(-2) 无法打开文件读!在函数加载中

    此消息表示在文件 facerec.cpp 的第 61 行生成了异常。您需要检查您的数据是否可供读取。

    【讨论】:

      【解决方案2】:

      想通了!这个答案帮助我意识到我需要获取应用程序包的 xml 文件路径:OpenCV Cascade Classifier load error iOS

      【讨论】:

        猜你喜欢
        • 2023-03-25
        • 2016-07-14
        • 2014-06-14
        • 2014-03-24
        • 1970-01-01
        • 2018-07-29
        • 1970-01-01
        • 2015-07-05
        • 2018-10-31
        相关资源
        最近更新 更多