如何在 Haskell 中提供屏幕图像作为程序的输入

Posted

技术标签:

【中文标题】如何在 Haskell 中提供屏幕图像作为程序的输入【英文标题】:How to serve an image of the screen as an input to a program, in Haskell 【发布时间】:2011-06-15 23:52:06 【问题描述】:

我想编写一个函数(我正在使用 Haskell),它能够检索用户查看的屏幕的实际内容,以便预先制定(灰度和/或一些模板卷积) repa 包)并将其提供给神经网络或其他一些 AI 架构。

类型类似于 watch :: IO img 有没有提供这样功能的库?如果我不需要整个屏幕,而只需要程序的视觉输出,除了手工切割图像,还有其他方法吗?

【问题讨论】:

【参考方案1】:

抓取屏幕取决于平台。您需要找到一个 C 库来执行此操作,然后编写一个 Haskell 绑定到该低级功能。在某些系统上,您可以将帧缓冲区作为文件打开以获取图像。

所以,答案是same as for C,但是您编写了从 Haskell 到该函数的绑定。

【讨论】:

【参考方案2】:

或许你可以看看scrot

的源码

【讨论】:

以上是关于如何在 Haskell 中提供屏幕图像作为程序的输入的主要内容,如果未能解决你的问题,请参考以下文章

Haskell在图像上绘制图像

多线程haskell程序的内存分析

当在我们的应用程序外按住“睡眠/唤醒”和“主页”按钮进行屏幕截图时,如何将我们的应用程序的本地通知作为“使用我们的应用程序打开图像”

在 Haskell 中使用 OpenGL 渲染 PNG 图像

在Haskell中使用OpenGL渲染PNG图像

在 .NET 中调用 Haskell 函数