gpt4 book ai didi

c++ - OpenCv Unspecified error(节点不代表用户对象(未知类型?))

转载 作者:太空宇宙 更新时间:2023-11-03 23:16:15 26 4
gpt4 key购买 nike

我正在使用 openCV 2.4.10 并尝试实现类似于此处的内容:

https://github.com/andrewssobral/vehicle_detection_haarcascades

并且我已经生成了类似上述项目的 cars.xml 的文件,但是当我尝试加载其中一个文件时,出现以下错误:

OpenCV Error: Unspecified error (The node does not represent a user object (unknown type?)) in cvRead, file C:\builds\2_4_PackSlave-win64-vc12-shared\opencv\modules\core\src\persistence.cpp, line 4991

这是我的加载代码:

CvHaarClassifierCascade *cascade;
cascade = (CvHaarClassifierCascade*)cvLoad("cascade-1.xml", 0, 0, 0);

正如我所说,它可以毫无问题地加载我的一个 xml 文件,但它会在另一个文件上给出该错误。非常感谢您的帮助。

最佳答案

OpenCV 2.4文档建议使用 CascadeClassifier类(class)。它成功加载了您的 cascade1.xml 文件。以下是如何在 C++ 中使用 CascadeClassifier:

#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/objdetect/objdetect.hpp"
#include <iostream>

using namespace cv;

int main()
{
CascadeClassifier cascade;
if( !cascade.load( "d:\\OpenCV\\cascade1.xml" ) )
{
std::cout << "Error during loading";
return -1;
}

Mat pic = imread("d:\\Samples\\Cars\\test.jpg");

Mat picGray;
cvtColor( pic, picGray, CV_BGR2GRAY );

std::vector<Rect> objs;
cascade.detectMultiScale( picGray, objs, 1.1, 2, 0, Size(0, 0) );

return 0;
}

关于c++ - OpenCv Unspecified error(节点不代表用户对象(未知类型?)),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39257858/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com