【发布时间】:2013-01-02 10:23:44
【问题描述】:
我正在尝试创建一个小项目,我需要在其中捕获/读取视频帧缓冲区并计算屏幕的平均 RGB 值。
我不需要在屏幕上写任何东西。我在 Windows 中执行此操作。
谁能帮助我使用任何可以读取视频帧缓冲区并计算平均 RGB 值的 Windows API?
我开始知道我需要编写一个内核驱动程序,它可以读取帧缓冲区。
- 这是唯一的解决方案吗?
- 还有其他读取帧缓冲区的方法吗?
- 是否有算法可以根据帧缓冲区数据计算 RGB 值?
【问题讨论】:
-
你需要每一帧吗?或者您可以每隔几秒钟对屏幕(例如打印屏幕)进行一次采样吗?后者很容易。
-
需要每秒采样一次屏幕,然后计算缓冲区的平均RGB值。
-
您不会有 CPU 周期来迭代每一帧的每个像素。您需要从屏幕上的每个 NxN 区域采样一个像素。其中 N 表示 10 或 20。
-
是的,是的。但是如何获取视频帧缓冲区呢?
-
在此站点中搜索“screen capture bitblt”。 BitBlt() 技术是最常用的方法。但如果这不符合性能目标,请在此网站和互联网上搜索“Screen Capture DirectShow”
标签: windows video buffer frame