首先我想说,我已经阅读了很多关于这个问题的内容,并学习了许多方法,但我还没有能够在Linux中完成它。
我的项目是一个带有Arduino的环境灯效果,因此我需要截取桌面的屏幕截图并分析其颜色。
一开始我使用Processing 2.0和'java.awt'中的类'Robot'。最初我每秒可以拍摄5帧,然后我得到了13fps。这很有效,但我想要更好的性能,所以我开始阅读相关资料。
在Windows或Mac中,您可以使用库直接访问'frameBuffer',因此可以轻松快速地截取屏幕截图。
在Ubuntu中,我尝试了python、Gtk、PIL、Qt等等,其中最快的方式是GTK,但我只能获得约15fps。
我的问题是:我希望跨平台实现,但我更喜欢我的程序首先在Linux上运行,然后在Windows上(我不太喜欢Windows:P)。
所以,第一个问题是:Python能提供这种性能吗?因为我认为C++可能是更好的选择。
第二个问题是:我需要做什么?我已经阅读了关于Xlib(X11)的内容,但找不到让我截取屏幕截图的文档。此外,我知道例如FFmpeg这样的强大工具,但不知道如何实现它。
希望您能帮助我(如果我犯了任何错误,请原谅)。
我的项目是一个带有Arduino的环境灯效果,因此我需要截取桌面的屏幕截图并分析其颜色。
一开始我使用Processing 2.0和'java.awt'中的类'Robot'。最初我每秒可以拍摄5帧,然后我得到了13fps。这很有效,但我想要更好的性能,所以我开始阅读相关资料。
在Windows或Mac中,您可以使用库直接访问'frameBuffer',因此可以轻松快速地截取屏幕截图。
在Ubuntu中,我尝试了python、Gtk、PIL、Qt等等,其中最快的方式是GTK,但我只能获得约15fps。
我的问题是:我希望跨平台实现,但我更喜欢我的程序首先在Linux上运行,然后在Windows上(我不太喜欢Windows:P)。
所以,第一个问题是:Python能提供这种性能吗?因为我认为C++可能是更好的选择。
第二个问题是:我需要做什么?我已经阅读了关于Xlib(X11)的内容,但找不到让我截取屏幕截图的文档。此外,我知道例如FFmpeg这样的强大工具,但不知道如何实现它。
希望您能帮助我(如果我犯了任何错误,请原谅)。