在使用opencv中ClassifierCascade类时,无法加载级联分类器,相对路径和绝对路径都无法加载成功,why??
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在使用opencv中ClassifierCascade类时,无法加载级联分类器,相对路径和绝对路径都无法加载成功,why??相关的知识,希望对你有一定的参考价值。
这是定义语句:CascadeClassifier face_cascade;
String face_cascade_name = "G:\\opencv\\data\\haarcascades\\haarcascade_frontalface_alt.xml";
加载语句 if( !face_cascade.load( face_cascade_name ) ) printf("--(!)Error loading\n"); return -1; ;
用了opencv4.5.5也同样的问题,我是 win11+vs+opencv 组合
翻遍了论坛和搜索结果,最终在这里解决了,引用@y411328329的答案:
目录需要用反斜杠,和windows不一样: D:/opencv/sources/data/haarcascades/haarcascade_frontalcatface.xml
需要使用release编译,注意修改成release之后include和lib也需要重配
2. 请手动把那个xml文件复制到其他更简单的路径下,起个更简单的名字,比如D:\data\hfa.xml,然后再在程序里用绝对路径调用之。
我是不是需要使用 Gstreamer 构建 OpenCV 才能在 OpenCV 中使用 Gstreamer
【中文标题】我是不是需要使用 Gstreamer 构建 OpenCV 才能在 OpenCV 中使用 Gstreamer【英文标题】:Do I need OpenCV build with Gstreamer to use Gstreamer in OpenCV我是否需要使用 Gstreamer 构建 OpenCV 才能在 OpenCV 中使用 Gstreamer 【发布时间】:2020-02-28 06:44:32 【问题描述】:我正在尝试通过 RTSP 发送 cv::Mat
帧。
我使用此gst-rtsp-server 代码在 Visual Studio 中使用 GStreamer 创建了一个工作项目。我可以使用 VLC 接收 GStreamer 的测试视频。
现在我正在尝试通过 OpenCV 发送视频,方法是使用 cv::VideoCapture
逐帧读取视频
但是我的 OpenCV 是在没有 GStreamer 支持的情况下构建的?如何使用 GStreamer 库通过 RTSP 发送 Opencv 帧?
【问题讨论】:
【参考方案1】:要使用带有 gstreamer 后端的 OpenCV 捕获帧,您需要使用 Gstreamer 构建 OpenCV。之后,您需要将您的 apiPreference cv2.CAP_GSTREAMER
作为第二个参数传递给 cv::VideoCapture()
。例如:cv::VideoCapture(filename,cv::CAP_GSTREAMER)
。
【讨论】:
我正在使用 FFmpeg 捕获帧。我只想使用 GStreamer 发送它。我可以在不使用 GStreamer 构建 openCV 的情况下做到这一点吗? 不,我不这么认为。您需要使用 GStreamer 进行构建。 好的。是否有任何使用 gstreamer for Windows、Visual Studio 构建 opencv 的好教程?我试过这个,但它给了我错误。 medium.com/@galaktyk01/…以上是关于在使用opencv中ClassifierCascade类时,无法加载级联分类器,相对路径和绝对路径都无法加载成功,why??的主要内容,如果未能解决你的问题,请参考以下文章
使用 opencv_contrib 在 Mac OS 终端中运行 OpenCV