参考:https://www.cnblogs.com/Qing-Bo/p/10560069.html
我的总结
采用下面语句改变摄像头本身的分辨率,即会受到摄像头自身分辨率的限制,比如我的摄像头是10801920的,如果设置为50005000的,还是会变成摄像头自身分辨率最大值,即1080*1920。
cap.set(cv2.CAP_PROP_FRAME_WIDTH,5000)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT,5000)
采用下面代码保存视频的过程中,可以将摄像头读取的视频进行二次缩放,但是下面代码的缩放是基于摄像头已经设置分辨率的,当二次放大要保存的视频,是一种伪放大。因此最直接的方法就是把改变的摄像头本身的分辨率和要保存的视频的分辨率设置成同样的数值。
videowriter = cv2.VideoWriter("video_640_360"+".avi", cv2.VideoWriter_fourcc('M', 'J', 'P', 'G'), 15, (w,h))
success, _ = cap.read()
print(success)
while success:
success, frame= cap.read()
print(frame.shape)
try:
img = cv2.resize(frame, (w,h), interpolation=cv2.INTER_LINEAR)
videowriter.write(img)
except:
break