【问题标题】:Low fps on higher resolution video file input on OpenCV在 OpenCV 上输入更高分辨率的视频文件时 fps 低
【发布时间】:2020-06-30 11:40:03
【问题描述】:

我正在尝试使用 dlib 人脸检测器模糊人脸并打开 cv。该代码在从网络摄像头提供输入时工作正常,但当我提供 720p 或 1080p 视频文件作为输入时,它会提供低 fps。我的最终目标是在将具有任何分辨率的视频文件提供给代码时模糊面部。

我尝试使用“cap.set()”减小帧大小。但它不起作用。任何帮助将不胜感激。 output frame

【问题讨论】:

    标签: python opencv computer-vision face-detection dlib


    【解决方案1】:

    如果您的代码已经适用于较低分辨率的视频,是否可以降低较高质量视频的分辨率?如果是这样,那么也许您可以尝试opencv.org中的以下代码:

    import cv2
    vidcap = cv2.VideoCapture('myvid2.mp4')
    success,image = vidcap.read()
    count = 0;
    print "I am in success"
    while success:
        success,image = vidcap.read()
        resized = cv2.resize(image, fx=0.5, fy=0.5, interpolation = cv2.INTER_LINEAR) 
        cv2.imwrite("%03d.jpg" % count, resize)     
        if cv2.waitKey(10) == 27:                     
            break
        count += 1
    

    这应该会使视频的分辨率减半。您可以通过将 cv2.resize() 中的 0.5 参数更改为更小的参数来进一步降低分辨率。

    【讨论】:

    • 有什么方法可以输入任何分辨率的视频,模糊脸部并将其保存到新的视频文件中。有什么办法请告诉我。
    • @YashrajNigam 在找到并模糊面部之前降低分辨率有什么问题吗?恐怕我对opencv不是很熟悉,所以我不知道有什么其他的方法。
    • 感谢 Bob 的建议我刚刚将输出保存到新的视频文件中,它工作正常。
    • @YashrajNigam
    猜你喜欢
    • 2014-05-15
    • 1970-01-01
    • 1970-01-01
    • 2017-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-05
    相关资源
    最近更新 更多