'the fastest method of capturing full screen with python?

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

Are there any alternatives without using PIL?



Solution 1:[1]

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.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 John Doe