'How Can I Capture Screenshot of User from Live Stream After a Specific Interval

import time
from datetime import datetime
from cv2 import *
import schedule


def main():

    capture = cv2.VideoCapture(0)
    while True:
        success, image = capture.read()
        cv2.imshow("Live Feed", image)
        cv2.waitKey(1)
        schedule.every(10).seconds.do(take_screenshot())

def take_screenshot():

    cv2.imwrite(f"test-{str(datetime.now())}",image)



if __name__ == '__main__':
    main()

I am working on a project of my own research . Web camera is open for 60 minutes So I want to capture the user picture after every 1 minute. I want to take screenshot of live feed after every 1 minute. I tried some videos and website. but found this schedule can solve my issue but I'm getting error of Image is not defined. How do I can pass the value of image to screenshot function or how I can take screenshot after every specific interval and save in directory



Solution 1:[1]

If you are using webcam you should modify the code.

in OpenCV for laptop camera to use:

capture = cv2.VideoCapture(0)

and for webcam use:

capture = cv2.VideoCapture(1)

0 or 1 is used for which camera or webcam you want to use in case of multiple cam.

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 Dev