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中使用HTMLParser解析HTML的教程
Apr 29 Python
使用Python求解最大公约数的实现方法
Aug 20 Python
使用Python实现BT种子和磁力链接的相互转换
Nov 09 Python
详解Python 2.6 升级至 Python 2.7 的实践心得
Apr 27 Python
Python网络爬虫与信息提取(实例讲解)
Aug 29 Python
Python3 单行多行万能正则匹配方法
Jan 07 Python
Python print不能立即打印的解决方式
Feb 19 Python
基于Python爬取51cto博客页面信息过程解析
Aug 25 Python
Python fileinput模块如何逐行读取多个文件
Oct 05 Python
python3中数组逆序输出方法
Dec 01 Python
查找适用于matplotlib的中文字体名称与实际文件名对应关系的方法
Jan 05 Python
基于python的matplotlib制作双Y轴图
Apr 20 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-FPM之Chroot执行环境详解
2015/08/03 PHP
php正则匹配文章中的远程图片地址并下载图片至本地
2015/09/29 PHP
smarty高级特性之对象的使用方法
2015/12/25 PHP
PHP中使用OpenSSL生成证书及加密解密
2017/02/05 PHP
javascript编程起步(第二课)
2007/02/27 Javascript
JavaScript 判断日期格式是否正确的实现代码
2011/07/04 Javascript
jQuery插件分享之分页插件jqPagination
2014/06/06 Javascript
jQuery手机拨号界面特效代码分享
2015/08/27 Javascript
详谈Angular 2+ 的表单(一)之模板驱动型表单
2017/04/25 Javascript
Three.js利用顶点绘制立方体的方法详解
2017/09/27 Javascript
React Native 截屏组件的示例代码
2017/12/06 Javascript
vue-lazyload图片延迟加载插件的实例讲解
2018/02/09 Javascript
babel的使用及安装配置教程
2018/02/22 Javascript
详解vue文件中使用echarts.js的两种方式
2018/10/18 Javascript
jquery拖拽自动排序插件使用方法详解
2020/07/20 jQuery
vue组件化中slot的基本使用方法
2019/05/01 Javascript
layui 表格操作列按钮动态显示的实现方法
2019/09/06 Javascript
Kettle中使用JavaScrip调用jar包对文件内容进行MD5加密的操作方法
2020/09/04 Javascript
简单的通用表达式求10乘阶示例
2014/03/03 Python
python中numpy基础学习及进行数组和矢量计算
2017/02/12 Python
windows系统下Python环境搭建教程
2017/03/28 Python
TensorFlow搭建神经网络最佳实践
2018/03/09 Python
python @classmethod 的使用场合详解
2019/08/23 Python
使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件及出现问题解决方法
2019/09/06 Python
pytorch之添加BN的实现
2020/01/06 Python
给 TensorFlow 变量进行赋值的方式
2020/02/10 Python
CSS Grid布局教程之网格单元格布局
2014/12/30 HTML / CSS
Html5页面在微信端的分享的实现方法
2018/08/30 HTML / CSS
阿联酋航空官方网站:Emirates
2017/10/17 全球购物
htmlentities() 和 htmlspecialchars()有什么区别
2015/07/01 面试题
PHP使用Redis队列执行定时任务实例讲解
2021/03/24 PHP
力学专业毕业生自荐信
2013/11/17 职场文书
2014年教师培训的自我评价
2014/01/03 职场文书
初中音乐教学反思
2014/01/12 职场文书
2014年电厂个人工作总结
2014/11/27 职场文书
Android Rxjava3 使用场景详解
2022/04/07 Java/Android