the fastest method of capturing full screen with python?

189 Views Asked by At

I was using ImageGrab from PIL, but this is too slow to use for the project.

Are there any alternatives without using PIL?

1

There are 1 best solutions below

1
joaopfg On BEST ANSWER

Capturing an image is equivalent to capture a single frame of a video. You can do it using the VideoCapture method of OpenCV.

import cv2

cap = cv2.VideoCapture(0) # video capture source camera (Here webcam of laptop) 
ret,frame = cap.read() # return a single frame in variable `frame`

while(True):
    cv2.imshow('img',frame) #display the captured image
    if cv2.waitKey(1) & 0xFF == ord('y'): #save on pressing 'y' 
        cv2.imwrite('images/test.png',frame)
        cv2.destroyAllWindows()
        break

cap.release()

Check the OpenCV tutorial for more information.