3

I'm working with openCV GPU processing a video file at 120 fps. My question is: Can I display the processed images at the same frame rate? When I'm displaying images using imshow the fps decreases to 20~30. Can I display these images faster (up to 120 fps)?

Thanks

MSO
  • 409
  • 1
  • 9
  • 22
  • 3
    I am not sure if you will be able "display" the frames @ 120 fps; the only thing I can suggest you to try is putting `cv::waitKey(1/120)` after your highgui window and see what happens. – scap3y Feb 13 '14 at 16:44
  • 1
    Hello scap3y it increases the frame rate to 50 fps do you have another suggestion? Why do you think it's not possible to display frames at 120 fps? – MSO Feb 13 '14 at 16:53
  • 2
    You can try to setup a window with a 3D graphic context (OpenGL) and then send these images to the GPU do be displayed. – karlphillip Feb 13 '14 at 16:59
  • Karlphilip, thanks for your comment. Do you know how to do it? – MSO Feb 13 '14 at 17:02
  • 2
    @scap3y Its not waitKey(1/120), its waitKey(1000/120) ~= 1frame per 8seconds – Anoop K. Prabhu Feb 13 '14 at 19:05

1 Answers1

5

You will have to make sure that your display (LCD, Monitor, screen, etc) can really redraw at 120 fps first. Even if the display runs faster, some computer systems limit the update rate.

don_q
  • 415
  • 3
  • 11