python 实现屏幕录制示例


Posted in Python onDecember 23, 2019

PIL 即pollow 的安装命令如下:

pip install pillow

其中cv2的安装是下面这条命令

pip install opencv-python

代码实现:

# coding: utf-8
from PIL import ImageGrab
import numpy as np
import cv2
 
fps = 20
start = 3 # 延时录制
end = 15 # 自动结束时间
 
curScreen = ImageGrab.grab() # 获取屏幕对象
height, width = curScreen.size
 
video = cv2.VideoWriter('video02.avi', cv2.VideoWriter_fourcc(*'XVID'), fps, (height, width))
 
imageNum = 0
while True:
 imageNum += 1
 captureImage = ImageGrab.grab() # 抓取屏幕
 frame = cv2.cvtColor(np.array(captureImage), cv2.COLOR_RGB2BGR)
 
 # 显示无图像的窗口
 cv2.imshow('capturing', np.zeros((1, 255), np.uint8))
 
 # 控制窗口显示位置,方便通过按键方式退出
 cv2.moveWindow('capturing', height - 100, width - 100) 
 if imageNum > fps * start:
  video.write(frame)
 # 退出条件 
 if cv2.waitKey(50) == ord('q') or imageNum > fps * end:
  break
video.release()
cv2.destroyAllWindows()

以上这篇python 实现屏幕录制示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python处理PHP数组文本文件实例
Sep 18 Python
Python闭包实现计数器的方法
May 05 Python
python django 访问静态文件出现404或500错误
Jan 20 Python
Python logging管理不同级别log打印和存储实例
Jan 19 Python
Python实现PS图像抽象画风效果的方法
Jan 23 Python
Python使用xlwt模块操作Excel的方法详解
Mar 27 Python
python用post访问restful服务接口的方法
Dec 07 Python
django 多对多表的创建和插入代码实现
Sep 09 Python
python 爬虫百度地图的信息界面的实现方法
Oct 27 Python
python序列类型种类详解
Feb 26 Python
Django Form常用功能及代码示例
Oct 13 Python
PyTorch dropout设置训练和测试模式的实现
May 27 Python
关于ZeroMQ 三种模式python3实现方式
Dec 23 #Python
Python 内置函数globals()和locals()对比详解
Dec 23 #Python
Python 项目转化为so文件实例
Dec 23 #Python
python 解决cv2绘制中文乱码问题
Dec 23 #Python
python 实现查询Neo4j多节点的多层关系
Dec 23 #Python
python 多进程队列数据处理详解
Dec 23 #Python
python3实现从kafka获取数据,并解析为json格式,写入到mysql中
Dec 23 #Python
You might like
如何把PHP转成EXE文件
2006/10/09 PHP
php设计模式 DAO(数据访问对象模式)
2011/06/26 PHP
php页面防重复提交方法总结
2013/11/25 PHP
采用thinkphp自带方法生成静态html文件详解
2014/06/13 PHP
ThinkPHP快速入门实例教程之数据分页
2014/07/01 PHP
PHP+MYSQL会员系统的开发实例教程
2014/08/23 PHP
合格的PHP程序员必备技能
2015/11/13 PHP
php无法连接mysql数据库的正确解决方法
2016/07/01 PHP
Thinkphp事务操作实例(推荐)
2017/04/01 PHP
php获取ip及网址的简单方法(必看)
2017/04/01 PHP
PHP超低内存遍历目录文件和读取超大文件的方法
2019/05/01 PHP
laravel实现登录时监听事件,添加登录用户的记录方法
2019/09/30 PHP
zTree插件之单选下拉菜单实例代码
2013/11/07 Javascript
javascript实现的平方米、亩、公顷单位换算小程序
2014/08/11 Javascript
原生js实现数字字母混合验证码的简单实例
2015/12/10 Javascript
Ionic实现页面下拉刷新(ion-refresher)功能代码
2016/06/03 Javascript
require.js+vue开发微信上传图片组件
2016/10/27 Javascript
浅谈Node.js 沙箱环境
2018/05/15 Javascript
浅析Vue项目中使用keep-Alive步骤
2018/07/27 Javascript
vue 返回上一页,页面样式错乱的解决
2019/11/14 Javascript
详解vue-router的导航钩子(导航守卫)
2020/11/02 Javascript
[02:27]《DAC最前线》之附加赛征程
2015/01/29 DOTA
使用Python设置tmpfs来加速项目的教程
2015/04/17 Python
Python基于QRCode实现生成二维码的方法【下载,安装,调用等】
2017/07/11 Python
Jupyter Notebook远程登录及密码设置操作
2020/04/10 Python
PyInstaller运行原理及常用操作详解
2020/06/13 Python
Python从文件中读取数据的方法步骤
2020/11/18 Python
BudgetAir印度:预订航班、酒店和汽车租赁
2019/07/07 全球购物
爱尔兰旅游网站:ebookers.ie
2020/01/24 全球购物
为什么要优先使用同步代码块而不是同步方法?
2013/01/30 面试题
行政管理人员精品工作推荐信
2013/11/04 职场文书
英语教研活动总结
2014/07/02 职场文书
2015年初三班主任工作总结
2015/05/21 职场文书
python爬虫selenium模块详解
2021/03/30 Python
maven依赖的version声明控制方式
2022/01/18 Java/Android
SQL Server 忘记密码以及重新添加新账号
2022/04/26 SQL Server