Python 视频存储器拷贝
我有这样的需求:我想复制视频图像的选定部分(它们是飞行sim卡上的仪表或其他仪器),并将它们复制到小LCD显示屏上。每个LCD显示器必须物理复制一个仪器,从而从源图像中选择一个区域。 我计划使用python,但也可以使用其他语言。但我没有任何图形方面的经验,我不知道如何从视频板内存中读取原始图像。许多年前,有了EGA和VGA卡,即使我从未有过这种需要,也很容易。现在我了解到windows会锁定任何直接访问视频内存的尝试。这是真的吗?如果是,怎么做? 我计划使用集成视频板。Python 视频存储器拷贝,python,video,graphics,Python,Video,Graphics,我有这样的需求:我想复制视频图像的选定部分(它们是飞行sim卡上的仪表或其他仪器),并将它们复制到小LCD显示屏上。每个LCD显示器必须物理复制一个仪器,从而从源图像中选择一个区域。 我计划使用python,但也可以使用其他语言。但我没有任何图形方面的经验,我不知道如何从视频板内存中读取原始图像。许多年前,有了EGA和VGA卡,即使我从未有过这种需要,也很容易。现在我了解到windows会锁定任何直接访问视频内存的尝试。这是真的吗?如果是,怎么做? 我计划使用集成视频板。 感谢您的关注根据您的整
感谢您的关注根据您的整体解决方案,您可能会发现,只需将整个视频发送到每个小屏幕,并简单地缩放/裁剪播放以仅显示所需的部分,实际上会更容易 这在带宽方面效率较低(可能-取决于您如何压缩提取的任何视频),但避免了进行任何复杂的视频处理,因为这需要处理器和电池 如果您的系统基于Android,则可以使用TextureView SetTransform执行以下操作:
在HTML5中,您可以使用CSS和视频转换实现类似的功能:谢谢您的回答。目标系统将是一个简单的LCD显示器加上Arduino或Raspberry板,没有电池问题。带宽可能是一个问题。但我会考虑你的建议,再次感谢。按照你的建议,我可以流式传输整个模拟图像(视频),每个远程设备都可以抓取它的一部分,与要显示的仪器相关。我可以在发送端使用python+OpenCV。而且仍然不知道接收端会发生什么,这取决于设备(Arduino或Raspberry)。。。您可以使用winapi在内存中以位图的形式直接获取屏幕内容。在OpenGL中,存在旧的
glReadPixels
或使用FBO
或渲染到位图,但这涉及到篡改渲染代码,如果您能够或不能做到,则不清楚。您没有指定视频源(图像/视频文件、来自第三方应用程序的真实视频源、IPC、LAN…?)您没有指定平台(gfx访问与平台紧密绑定)您是对的。源是一个飞行模拟器,因此图像就像一个视频。操作系统取决于用户,我将从我自己的应用程序开始,即Win10。其目的是将飞行模拟的选定部分,即仪器,转移到许多不同的设备上,每个设备由一个小触摸屏和一块类似Arduino或Raspberry的板组成。该板将在LCD上显示所选仪器的部分(想象一个指南针或雷达),触摸部分将用于向模拟器发送与仪器相关的命令。因此我假设您不能篡改应用程序代码。。。使用winapi。。。获取应用程序的句柄(或整个桌面)并偶尔将画布内容复制到应用程序中。。。对于仪器而言,不需要使用太大的fps进行此操作。。。最后,我找到了与我要找的主题相关的QA,看一看