如何改进我的OpenCV识别代码以检测上半身,同时在使用CCTV流作为输入时减少资源消耗?

如何使我的OpenCV识别更加准确?我之前只是使用Haar级联在CCTV的灰度帧中检测上半身,但这消耗了大量资源,而且结果不够好。我应该使用轮廓或其他方法来减少资源消耗吗?我也有一块GPU,但不知道如何连接以便我的计算使用GPU。

我的摄像头通过IPC连接到我的CCTV,过了一段时间后,它就停止输出帧,并返回此错误。

error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'

回答:

我们从结尾开始逐步分析问题。

error: (-215:Assertion failed) !_src.empty() in function’cv::cvtColor’

这个错误出现是因为没有可用的帧进行转换。这可能是由于摄像头断开连接或帧不适当引起的。我建议你在处理前检查任何帧是否可用:

    ret,frame=vcap.read()
    # 如果帧读取正确,ret为True
    if not ret:
        print("无法接收帧(流结束?)。退出...")
        break

另一方面,你询问如何使检测更加准确。首先,haarcascade并不是一个完美的工具,它的优点在于速度快。根据你的硬件规格,你可以选择其他类型的AI算法,如YOLO、R-CNN等。如果你坚持使用haarcascades,你应该根据具体情况定义参数。你可以查看detectMultiscale所包含的参数。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注