【发布时间】:2020-02-19 12:58:31
【问题描述】:
我正在用 python 为桌面创建屏幕录像机。我已经完成了编码部分,但是当我录制屏幕时,为什么它没有以高清录制。 问题......... 1> 我想以高质量记录屏幕我应该怎么做。 2> 我也试图在 cv2.circle() 的帮助下捕捉我的光标,但我想创建不透明度更低或更透明的圆圈
我的代码
import cv2
import numpy as np
import pyautogui
import datetime
import win32api
date=datetime.datetime.now()
SCREEN_SIZE = (960,540) #std res 1366, 768
framerate=12
# define the codec
fourcc = cv2.VideoWriter_fourcc(*'XVID')
filename='E:/project/videos/rec_%s%s%s%s%s%s.avi' %(date.year,date.month,date.day,date.hour,date.minute,date.second)
out = cv2.VideoWriter(filename, fourcc,framerate, SCREEN_SIZE)
while True:
img = pyautogui.screenshot()
frame = np.array(img)
frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
_xs,_ys = win32api.GetCursorPos()
image=cv2.circle(frame,(_xs,_ys),20,(0,255,255,0.3),-1)
frame = cv2.resize(frame,(960,540)) #resize window
out.write(frame)
cv2.imshow('screenshot', frame)
if cv2.waitKey(1) == ord("q"):
break
cv2.destroyAllWindows()
out.release()
【问题讨论】:
标签: python python-3.x opencv winapi