python练手_屏幕截屏保存视频文件练习

opencv练习面部识别,缺少视频文件,爬取视频又没成功,就想通过截屏保存图像的方式保存使用。
屏幕像素大小,需要通过别的模块,练手就直接使用自己屏幕的了,如果想根据屏幕像素不同变动的,可以再添加。
另外既然截屏,就可以直接在图像读取后直接面部识别,节省一步保存转换的步骤。

import uuid,socket,time
import pyautogui
import cv2
import numpy as np
import pyttsx3 #语音播放

#获取电脑设备号
def get_mac():
#mac
mac = uuid.UUID(int=uuid.getnode()).hex[-12:]
# 获取主机名
hostname = socket.gethostname()
# 获取IP
ip = socket.gethostbyname(hostname)
# 结果数据导出
pc_mac = {‘mac’:mac,‘hostname’:hostname,‘ip’:ip}
return pc_mac

时间计算

def get_current_time():
ct = time.time()
local_time = time.localtime(ct)
data_head = time.strftime(“%Y%m%d%H%M%S”, local_time)
data_secs = abs(ct - round(ct)) * 1000
time_stamp = “%s%03d” % (data_head, data_secs)
return time_stamp

def pyttsx_yybf(text):
engine = pyttsx3.init()
engine.setProperty(‘rate’, 160) #语音速度
engine.say(text) #朗读内容
engine.runAndWait()

def get_win_gui(mac,in_time,output):
# 分别代表:左上角坐标,宽高
img = pyautogui.screenshot(region=[0,0,1366,768])
# 对获取的图片转换成二维矩阵形式,后再将RGB转成BGR
# 因为imshow,默认通道顺序是BGR,而pyautogui默认是RGB所以要转换一下,不然会有点问题
img_cv = cv2.cvtColor(np.asarray(img), cv2.COLOR_RGB2BGR)
#cv2.imwrite(‘./image/win_gui/’+mac+‘_’+in_time+‘.jpeg’ , img_cv)
output.write(img_cv)

if name == ‘main’:

pyttsx_yybf('倒数开始截屏')
for i in range(10):
    pyttsx_yybf('%d 秒' % (10-i))
    time.sleep(0.5)
pyttsx_yybf('截屏开始')

# 获取系统数据
mac_id = get_mac()
# 展现数据
print('计算机参数展示', mac_id)
# 获取内容
mac, hostname, ip = mac_id['mac'], mac_id['hostname'], mac_id['ip']

#录屏准备
fourcc = cv2.VideoWriter_fourcc('X','V','I','D')
fps = 10
output = cv2.VideoWriter('jieping.avi',fourcc,fps,(1366,768))

frame_num = 60 * fps
# 循环执行
while True and frame_num > 0:

    in_time = get_current_time()
    #print('in_time',in_time)
    get_win_gui(mac,in_time,output)
    frame_num -= 1
    time.sleep(0.0005)

pyttsx_yybf('截屏结束')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值