OpenCV Python Cuda CascadeClassifier错误

Posted

技术标签:

【中文标题】OpenCV Python Cuda CascadeClassifier错误【英文标题】:OpenCV Python Cuda CascadeClassifier Error 【发布时间】:2021-12-28 06:45:40 【问题描述】:

我正在尝试使用 GPU 优化我在 python 中使用 OpenCV 创建的检测器。我遇到的错误如下:

cv2.error: OpenCV(4.5.1) c:\opencv_build\opencv_contrib-4.5.1\modules\cudalegacy\src\cuda\ncvhaarobjectdetection.cu:2079: error: (-215:Assertion failed) haar.ClassifierSize .height > 0 && haar.ClassifierSize.width > 0 in function 'loadFromXML'

调用该函数时出现错误:

cv2.cuda.CascadeClassifier_create(r""+cascade_model)

在CPU版本中我使用了这个功能,它运行没有任何问题:

cv2.CascadeClassifier(r""+cascade_model)

知道为什么会这样吗?如果有帮助,我将在带有 Nvidia GeForce RTX 3070 Ti 的 Windows 10 上运行它。

【问题讨论】:

【参考方案1】:

CUDA 级联分类器无法正确读取 traincascade 工具的输出。

您要么需要训练 LBP 级联(而不是 HAAR),要么回退到 2.x haartraining 工具。

见:https://github.com/opencv/opencv_contrib/issues/3106

【讨论】:

以上是关于OpenCV Python Cuda CascadeClassifier错误的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV Python Cuda CascadeClassifier错误

Python opencv:如何使用卡尔曼滤波器

成功构建后,带有 Cuda 的 Python OpenCV 无法正常工作

ubuntu16.04+opencv2.4.13+cuda 8.0+python

使用 Qt 和 Cuda for Python 构建 OpenCV,在 build_all cmake 目标上运行到 LNK2019

无论如何,opencv使用cuda内存