网站首页 > 技术文章 正文
import cv2
import numpy as np
import pyautogui
def record_screen(output_file, fps=30):
# 获取屏幕宽度和高度
screen_width, screen_height = pyautogui.size()
# 创建视频编码器
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
out = cv2.VideoWriter(output_file, fourcc, fps, (screen_width, screen_height))
while True:
# 捕获屏幕图像
img = pyautogui.screenshot()
# 转换图像颜色空间
frame = np.array(img)
frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
# 将图像写入视频文件
out.write(frame)
# 按下q键停止录屏
if cv2.waitKey(1) == ord('q'):
break
# 释放资源
out.release()
cv2.destroyAllWindows()
print(f'录制已保存为{output_file}')
def main():
output_file = 'screencast.mp4'
fps = 30
print('按下q键停止录屏')
record_screen(output_file, fps)
if __name__ == '__main__':
main()
这段代码使用pyautogui库的screenshot()方法来捕获屏幕图像,并使用opencv-python库的VideoWriter类来创建一个视频编码器,将捕获到的图像写入视频文件。
运行代码后,按下"q"键即可停止录屏,并将录制的视频保存为screencast.mp4文件。
请注意,这只是一个简单的示例,可能在某些系统上无法正常工作或存在一些限制。如果需要更高级的功能,可以考虑使用第三方库,如pyav、imageio等。
为了实现该功能,你需要安装opencv-python和pyautogui库。可以使用以下命令在终端中安装这些库:
pip install opencv-python pyautogui
猜你喜欢
- 2024-09-11 给3D Slicer添加Python第三方插件库
- 2024-09-11 使用Python创建自己的Instagram滤镜
- 2024-09-11 薅羊毛我愿称Python为最强,Python 自动化带你轻松赚钱
- 2024-09-11 史上最全的OpenCV入门教程!这篇够你学习半个月了!万字长文入门
- 2024-09-11 使用python实现简易的人脸检测(python人脸检测106关键点)
- 2024-09-11 机器视觉技术(一)边缘提取(机器视觉边缘检测)
- 2024-09-11 Python-OpenCV 16. 图像特征检测与描述算法
- 2024-09-11 Flask—远程查看行空板USB摄像头视频
- 2024-09-11 OpenCV+Python识别车牌和字符分割的实现
- 2024-09-11 在Fedora中安装OpenCV-Python | 二
- 04-263款 .NET 开源的编辑器,包含代码、文本和Markdown编辑功能!
- 04-26Markdown 格式如何转换成 Word?
- 04-26jupyter lab修改默认文件目录
- 04-26一款优秀的微信Markdown编辑神器及私有化部署流程
- 04-26PDF文件转markdown格式软件Marker1.6.1版整合包下载
- 04-26Microsoft MarkItDown:使用Llama库将 Office 文件转换为 Markdown
- 04-26Web Essentials之Markdown和自定义编辑器
- 04-26只要多加这样一句提示词,就能让DeepSeek帮你生成下载各种文档!
- 最近发表
-
- 3款 .NET 开源的编辑器,包含代码、文本和Markdown编辑功能!
- Markdown 格式如何转换成 Word?
- jupyter lab修改默认文件目录
- 一款优秀的微信Markdown编辑神器及私有化部署流程
- PDF文件转markdown格式软件Marker1.6.1版整合包下载
- Microsoft MarkItDown:使用Llama库将 Office 文件转换为 Markdown
- Web Essentials之Markdown和自定义编辑器
- 只要多加这样一句提示词,就能让DeepSeek帮你生成下载各种文档!
- java使用pandoc将markdown转换为word文档
- android上的markdown软件比较
- 标签列表
-
- cmd/c (64)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)