python - 在OpenCV上输入高分辨率视频文件时,fps较低

标签 python opencv computer-vision face-detection dlib

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

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

最佳答案

如果您的代码已经可以使用较低分辨率的视频,是否可以降低较高质量视频的分辨率?如果是这样,那么也许您可以尝试使用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参数更改为更小的参数来进一步降低分辨率。

关于python - 在OpenCV上输入高分辨率视频文件时,fps较低,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60755450/

相关文章:

c++ - X264编码使用Opencv

python - 在已排序的字典列表中查找最接近的项目

python - 如何让 Vim 识别 Python3 语法?

python - 如何使用 google API for python 在特定文件夹下创建工作表?

python - OpenCV3.3.0 findContours错误

java - 更改晕影校正的衰落半径(OpenCV Java)

opencv - 如何计算opencv中Mat的列差?

opencv - 从纯彩色图像中提取特征

c - 忽略植被运动的运动检测算法?

python - DefaultDict 在两种情况下的行为都不同