take screenshots using python code example
Example 1: screenshot in python
import pyautogui
class gng() :
myScreenshot = pyautogui.screenshot()
myScreenshot.save('C:\File\Code\save.png')
gng()
Example 2: screenshot taker python
from tkinter.filedialog import *
import pyautogui
import tkinter
root = Tk()
root.title('Take A Screenshot')
root.geometry('300x300')
canvas = tkinter.Canvas(root, width=300, height=300)
canvas.pack()
def takeScreenshot():
img = pyautogui.screenshot()
savePath = asksaveasfilename()
if not ('.png' in savePath): savePath = savePath + '.png'
img.save(savePath)
button = tkinter.Button(text="Take a Screenschot", command=takeScreenshot, font=10)
canvas.create_window(150, 150, window=button)
root.mainloop()
Example 3: take screenshot of video python
import cv2
import os
import time
def get_frames(inputFile,outputFolder,step,count):
'''
Input:
inputFile - name of the input file with directoy
outputFolder - name and path of the folder to save the results
step - time lapse between each step (in seconds)
count - number of screenshots
Output:
'count' number of screenshots that are 'step' seconds apart created from video 'inputFile' and stored in folder 'outputFolder'
Function Call:
get_frames("test.mp4", 'data', 10, 10)
'''
step = step
frames_count = count
currentframe = 0
frames_captured = 0
try:
if not os.path.exists(outputFolder):
os.makedirs(outputFolder)
except OSError:
print ('Error! Could not create a directory')
cam = cv2.VideoCapture(inputFile)
frame_per_second = cam.get(cv2.CAP_PROP_FPS)
while (True):
ret, frame = cam.read()
if ret:
if currentframe > (step*frame_per_second):
currentframe = 0
name = './data/frame' + str(frames_captured) + '.jpg'
print ('Creating...' + name)
cv2.imwrite(name, frame)
frames_captured+=1
if frames_captured > frames_count-1:
ret = False
currentframe += 1
if ret == False:
break
cam.release()
cv2.destroyAllWindows()