我试图创建一个小项目,其中我需要捕获/读取视频帧缓冲区,并计算屏幕的平均RGB值。
我不需要在屏幕上写任何东西。我在Windows上做这个。
有人能帮助我使用任何Windows来读取视频帧缓冲区并计算平均RGB值吗?
我所知道的是,我需要编写一个内核驱动程序,它可以读取帧缓冲区。
发布于 2013-07-18 23:47:59
如果您想要非常好的性能,您可能必须使用directx并捕获到纹理的后台缓冲区。使用mipmap,它将自动创建向下的样本直到1X1。只要抓住那个1像素的颜色,你就可以走了。
不过祝你好运。我们说话的时候我正在暗示这一点。我正在为我的房间创建一个环境灯控制器。使用设备上下文和StretchBLT,我得到了大约15 was。只有当我用GetPixel()抓取一个像素时,才能获得良好的性能。那是一个i5 3570K @ 4.5GHz
但是使用directx方法,从技术上讲,每秒可以获得数百帧(如果不是数千帧)。(当我做一个旋转三角形时,我的660只得到大约24,000 FPS。它不可能太慢,减去CPU调用。)
https://stackoverflow.com/questions/14120344
复制相似问题