使用Python从屏幕捕获视频数据

2023-12-27

有没有办法使用Python(也许使用OpenCV或PIL)连续抓取整个或部分屏幕的帧,至少以15 fps或更高的速度?我见过用其他语言完成的,所以理论上它应该是可能的。

我不需要将图像数据保存到文件中。实际上,我只是希望它输出一个包含原始 RGB 数据的数组(例如 numpy 数组或其他内容),因为我将把它发送到大型 LED 显示器(可能在重新调整大小之后)。


通过上述所有解决方案,我无法获得可用的帧速率,直到我按以下方式修改代码:

import numpy as np
import cv2
from mss import mss
from PIL import Image

bounding_box = {'top': 100, 'left': 0, 'width': 400, 'height': 300}

sct = mss()

while True:
    sct_img = sct.grab(bounding_box)
    cv2.imshow('screen', np.array(sct_img))

    if (cv2.waitKey(1) & 0xFF) == ord('q'):
        cv2.destroyAllWindows()
        break

通过这个解决方案,我可以轻松获得每秒 20 帧以上的速度。

作为参考,请检查此链接:带有 mss 的 OpenCV/Numpy 示例 https://python-mss.readthedocs.io/examples.html#opencv-numpy

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用Python从屏幕捕获视频数据 的相关文章

  • 如何在 __init__ 中使用await设置类属性

    我如何定义一个类await在构造函数或类体中 例如我想要的 import asyncio some code class Foo object async def init self settings self settings setti
  • 在 Python 中将列表元素作为单独的项目返回

    Stackoverflow 的朋友们大家好 我有一个计算列表的函数 我想单独返回列表的每个元素 如下所示 接收此返回的函数旨在处理未定义数量的参数 def foo my list 1 2 3 4 return 1 2 3 4 列表中的元素数
  • 在 Celery 任务中调用 Google Cloud API 永远不会返回

    我正在尝试拨打外部电话Google Cloud Natural Language API从一个内Celery任务 使用google cloud python包裹 问题是对 API 的调用永远不会返回 挂起 celery task def g
  • NLTK 2.0分类器批量分类器方法

    当我运行此代码时 它会抛出一个错误 我认为这是由于 NLTK 3 0 中不存在batch classify 方法 我很好奇如何解决旧版本中的某些内容在新版本中消失的此类问题 def accuracy classifier gold resu
  • VSCode Settings.json 丢失

    我正在遵循教程 并尝试将 vscode 指向我为 Scrapy 设置的虚拟工作区 但是当我在 VSCode 中打开设置时 工作区设置 选项卡不在 用户设置 选项卡旁边 我还尝试通过以下方式手动转到文件 APPDATA Code User s
  • python multiprocessing 设置生成进程等待

    是否可以生成一些进程并将生成进程设置为等待生成的进程完成 下面是我用过的一个例子 import multiprocessing import time import sys def daemon p multiprocessing curr
  • 在 Django Admin 中调整字段大小

    在管理上添加或编辑条目时 Django 倾向于填充水平空间 但在某些情况下 当编辑 8 个字符宽的日期字段或 6 或 8 个字符的 CharField 时 这确实是一种空间浪费 字符宽 然后编辑框最多可容纳 15 或 20 个字符 我如何告
  • Pycharm 在 os.path 连接上出现“未解析的引用”

    将pycharm升级到2018 1 并将python升级到3 6 5后 pycharm报告 未解析的引用 join 最新版本的 pycharm 不会显示以下行的任何警告 from os path import join expanduser
  • MongoEngine 查询具有以列表中指定的前缀开头的属性的对象的列表

    我需要在 Mongo 数据库中查询具有以列表中任何前缀开头的特定属性的元素 现在我有一段这样的代码 query mymodel terms term in query terms 并且这会匹配在列表 term 上有一个项目的对象 该列表中的
  • 打印包含字符串和其他 2 个变量的变量

    var a 8 var b 3 var c hello my name is var a and var b bye print var c 当我运行程序时 var c 会像这样打印出来 hello my name is 8 and 3 b
  • Python 内置的 super() 是否违反了 DRY?

    显然这是有原因的 但我没有足够的经验来认识到这一点 这是Python中给出的例子docs http docs python org 2 library functions html super class C B def method se
  • 从 Powershell 脚本安装 Python

    当以管理员身份从 PowerShell 命令行运行以下命令时 可以在 Windows 11 上成功安装 Python c temp python 3 11 4 amd64 exe quiet InstallAllUsers 0 Instal
  • 无法导入 langchain.agents.load_tools

    我正在尝试使用 LangChain Agents 但无法导入 load tools 版本 langchain 0 0 27 我尝试过这些 from langchain agents import initialize agent from
  • 将 Matlab 的 datenum 格式转换为 Python

    我刚刚开始从 Matlab 迁移到 Python 2 7 在读取 mat 文件时遇到一些问题 时间信息以 Matlab 的日期数字格式存储 对于那些不熟悉它的人 日期序列号将日历日期表示为自固定基准日期以来已经过去的天数 在 MATLAB
  • Spider 必须返回 Request、BaseItem、dict 或 None,已“设置”

    我正在尝试从以下位置下载所有产品的图像 我的蜘蛛看起来像 from shopclues items import ImgData import scrapy class multipleImages scrapy Spider name m
  • Opencv Java 灰度

    我编写了以下程序 尝试从彩色转换为灰度 Mat newImage Imgcodecs imread q1 jpg Mat image new Mat new Size newImage cols newImage rows CvType C
  • 如何以正确的方式为独立的Python应用程序制作setup.py?

    我读过几个类似的主题 但还没有成功 我觉得我错过或误解了一些基本的事情 这就是我失败的原因 我有一个用 python 编写的 应用程序 我想在标准 setup py 的帮助下进行部署 由于功能复杂 它由不同的 python 模块组成 但单独
  • 如果 PyPy 快 6.3 倍,为什么我不应该使用 PyPy 而不是 CPython?

    我已经听到很多关于PyPy http en wikipedia org wiki PyPy项目 他们声称它比现有技术快 6 3 倍CPython http en wikipedia org wiki CPython口译员开启他们的网站 ht
  • 重新分配唯一值 - pandas DataFrame

    我在尝试着assign unique值在pandas df给特定的个人 For the df below Area and Place 会一起弥补unique不同的价值观jobs 这些值将分配给个人 总体目标是使用尽可能少的个人 诀窍在于这
  • 如何在 Flask 中的视图函数/会话之间传递复杂对象

    我正在编写一个 Web 应用程序 当 且仅当 用户登录时 该应用程序从第三方服务器接收大量数据 这些数据被解析为自定义对象并存储在list 现在 用户在应用程序中使用这些数据 调用不同的视图 例如发送不同的请求 我不确定什么是最好的模式在视

随机推荐

  • 通过命令行的 Eclipse 和 Maven

    我可以通过跳过包含文件夹的原型选择 在 Eclipse IDE 版本 3 71 中创建一个简单的 Maven 应用程序 Edit 2以及其他文件夹 src main resources src test resources 如果我使用命令行
  • 是否可以在 Postgres 的 CTE 语句中多次二次使用返回值?

    我想在一个 CTE 中插入主表后 将外键插入到多个表中 我找不到解决方案 所以这很可能是不可能的 看这个例子 CREATE TABLE test main main id serial NOT NULL main name characte
  • C++11 中的通用函数指针

    我目前正在用 C x0 编写一个方法执行队列 我已经实现并验证了基本的队列机制 但想用一个选项来修改它push 自动删除所有先前对特定方法的调用 queue push this Obj foo 1 queue push this Obj f
  • 在 CSS 中使用颜色名称代替颜色代码有什么缺点吗?

    例如写作red比更有效 cc0000 它的字符较少 占用空间较小 并且更容易记住 使用有什么缺点吗颜色名称 http www somacon com p142 php超过十六进制代码或 RGB 值 这包括在多开发人员环境中进行编程 不同的浏
  • 将 CLRegion 转换为 MKMapRect 或类似的

    我想将 CLRegion 中心和半径 转换为两点 左上 右下 坐标集 我看过这个答案 但不合适 将 MKCoordinateRegion 转换为 MKMapRect https stackoverflow com questions 927
  • 连接点和计算区域

    这是我的第一篇文章 所以请友善 我有一个具有 3 10 个坐标的矩阵 我想连接这些点成为最大尺寸的多边形 我尝试 fill 1 生成一个图 但如何计算该图的面积 有没有办法将绘图转换回矩阵 你会推荐我什么 先感谢您 1 x1 0 0 0 5
  • Android Studio 4.2 布局渲染错误

    布局预览最近停止工作 我无法修复它 当问题出现时我最近改变的事情是 从 4 1 更新到 4 2 根据此处的说明更改了一些目录位置 https developer android com studio intro studio config
  • 在 Visual Studio 2012 .SDF 文件中,未替换(提交)我对原始文件的更改

    我在插入 SQL CE 数据库时遇到问题 我写了一些代码 然后当我需要数据库时 我右键单击投影 添加新项目 本地数据库 之后它让我选择一个数据模型 我选择了 数据集 这已在我左侧的服务器资源管理器下为我创建了一个数据库 并且在我右侧的解决方
  • 删除对象数组中的重复项 Javascript

    我有一个对象数组 list x 1 y 2 x 3 y 4 x 5 y 6 x 1 y 2 我正在寻找一种有效的方法 如果可能的话 O log n 删除重复项并最终得到 list x 1 y 2 x 3 y 4 x 5 y 6 我试过了 u
  • 在java中填充数字直到字符串长度为8个字符?

    我正在阅读 但找不到完整的片段 我正在寻找一个函数 它接受一个字符串并在左侧填充零 0 直到整个字符串的长度为 8 位 我找到的所有其他片段只让整数控制要填充的数量 而不是让整数控制填充的数量 直到整个字符串的长度为 x 位 在Java中
  • 为什么 Oracle 会忽略“完美”索引?

    我有这张表 create table demo key number 10 not null type varchar2 3 not null state varchar2 16 not null lots more columns 和这个
  • HiLo 还是身份?

    只是想获得一些关于主键的意见 使用身份 序列号或使用 HiLo 策略 查询高值并增加应用程序本身的低值 会更好吗 如果您将 SQL Server 2005 2008 与大型表 gt 100 万行 一起使用 您可能需要考虑this http
  • Java 变量隐藏方法重写概念

    我正在努力理解 Java 继承的变量 阴影方法和重写概念 Case 1 class Car public int gearRatio 8 public String accelerate return Accelerate Car clas
  • 链接某些 Windows API 时出现链接器错误

    我的系统中有一个 makefile 项目 最近 我添加了一些使用以下 Windows API 的新函数 RegOpenKeyEx RegEnumKeyEx RegCloseKey RegGetValue 为了拥有这些 APIS 我添加了wi
  • 尝试运行 ts-node 脚本时出现未知文件扩展名“.ts”错误

    我正在尝试运行在带有两个 ts 文件的常规文件夹中创建的脚本 一份包含脚本 另一份包含运行脚本的辅助函数 我还导入了更多东西 例如 axios 或表单数据 问题是 当我尝试使用 ts node 运行脚本时 节点脚本 ts 出现如下错误 Ty
  • 定期JavaFX服务

    我想从我的 JavaFX 应用程序定期执行任务 该任务从远程流中提取数据 虽然我知道我可以使用计时器 如下所示 JavaFX周期性后台任务 https stackoverflow com questions 9966136 javafx p
  • 在 iOS 中获取 iPhone 位置,无需将首选项“定位服务”设置为“开”

    我正在写一个类似于的守护进程克里斯 阿尔瓦雷斯守护进程 http chrisalvares com blog 7 creating an iphone daemon part 1 我想在未经用户许可的情况下在后台获取设备位置 如果Locat
  • 使用 Bitbucket Pipelines 从 docker 实例通过 SSH 连接到临时计算机

    使用新的 Bitbucket Pipelines 功能 我如何从它启动的 docker 容器通过 SSH 访问我的暂存盒 我的管道中的最后一步是 sh在暂存上部署必要代码的文件 但是由于我的暂存盒使用公钥身份验证并且不知道 docker 容
  • F# 交互式中的 Windows UI(UWP 或 8.1)

    通过引用默认的 WPF DLL 使用纯代码 WPF 可以轻松完成任何操作 r PresentationCore dll r PresentationFramework dll other DLLs r WindowsBase dll let
  • 使用Python从屏幕捕获视频数据

    有没有办法使用Python 也许使用OpenCV或PIL 连续抓取整个或部分屏幕的帧 至少以15 fps或更高的速度 我见过用其他语言完成的 所以理论上它应该是可能的 我不需要将图像数据保存到文件中 实际上 我只是希望它输出一个包含原始 R