我正在尝试使用dlib人脸检测器模糊人脸并打开cv。从网络摄像头提供输入时,代码可以正常工作,但是当我提供720p或1080p视频文件作为输入时,该代码可以提供低fps。我的最终目标是当将具有任何分辨率的视频文件提供给代码时,使面部模糊。
我尝试使用“ cap.set()”减小帧大小。但是它不起作用。任何帮助将不胜感激。 output frame
答案 0 :(得分:0)
如果您的代码已经可以与较低分辨率的视频一起使用,是否可以降低较高质量视频的分辨率?如果是这样,那么也许您可以尝试使用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参数更改为更小的参数来进一步降低分辨率。