首页 > 解决方案 > OpenCV.js 断言在 detectMultiScale 中失败

问题描述

所以我对 JavaScript 比较陌生,我正在尝试为我正在开发的 Web 应用程序学习 OpenCV.js。我一直在关注这样的教程尝试了解它是如何工作的。

但是,我在下面没有加载 haar 级联文件并且似乎无法修复它的地方收到错误消息。

Error: Assertion failed (!empty()) in detectMultiScale, file /build/master-contrib_docs-lin64/opencv/modules/objdetect/src/cascadedetect.cpp

我一直在寻找解决此问题的方法,大多数人建议您在加载级联文件时使用完整目录。我试过直接引用文件并使用完整的文件路径,这两种方法似乎都不适合我。

这就是我尝试加载文件的方式。

let classifier = new cv.CascadeClassifier();

// Load the haarcascade file
let utils = new Utils('errorMessage');
let faceCascadeFile = 'http://localhost/eeu8cb/xml/haarcascade_frontalface_default.xml';
utils.createFileFromUrl(faceCascadeFile, faceCascadeFile, () => {
    classifier.load(faceCascadeFile)
});

// Checks if the haarcascade file has failed to load
if(!classifier.load(faceCascadeFile)){
    console.log('failed to load file.')
}

我做了一些错误检查,确认文件没有被加载。任何帮助都会受到欢迎,干杯。

标签: javascripthtmlopencv

解决方案


一个月前,我使用这些教程在 OpenCV.js 上工作,我记得在不使用 HTTPS 协议的情况下加载文件时出现问题,我使用 IIS Express 解决了我的问题。

所以尝试使用网络服务器。


推荐阅读