2021年1月5日星期二

OpenCV VideoWritter speed goes up as outside becoming darker

I have a simple opencv program to save a video from my USB camera. Camera has few supported resolutions

1600x1200 <= 5fps  1280x720 <= 11.120fps  800x600 <= 20fps  640x480 <= 30fps    

I'm using it this way: (It's just a strip from my code)

cam = cv2.VideoCapture(0)    width = int(cam.get(cv2.CAP_PROP_FRAME_WIDTH))  height = int(cam.get(cv2.CAP_PROP_FRAME_HEIGHT))  fps = cv2.CAP_PROP_FPS    cam.set(3, width)  cam.set(4, height)    fourcc = cv2.VideoWriter_fourcc(*"mp4v")    out = cv2.VideoWriter(file_name, fourcc, fps, (width, height))  while cam.isOpened():      img = cam.read()[1]      out.write(main_img)    # etc....  

This is saving my video as 1600x1200 5fps in daytime and also in night with real time speed.

But when I do something like this

cam = cv2.VideoCapture(0)    width = 1280  height = 720  fps = 11.120    # ....    

I'm getting video 1280x720 11.120fps in daytime and also in night, but in night my video getting faster! Like fast-forwarding, 1 sec takes 0.5 sec and everything in the video is moving faster.

How could I avoid this? Is it because my camera is too sh*tty and can't get faster shutter speed at night so cv2 to persist11.120 fps fast-forwarding the video?

https://stackoverflow.com/questions/65588561/opencv-videowritter-speed-goes-up-as-outside-becoming-darker January 06, 2021 at 08:30AM

没有评论:

发表评论