CUDA如何从屏幕获取像素?

问题描述

下午好。 我找到了这篇文章,但是它展示了如何从文件夹中的图像中提取像素。是否可以直接从桌面拍摄像素?

How to get image pixel value and image height and width in CUDA C?

解决方法

无法使用CUDA从屏幕/桌面/应用程序窗口获取像素。您将不得不使用某种图形API,例如某些X扩展名或DirectX(如果正在处理的窗口在OpenGL的控制下,则为OpenGL)。

通过图形API获取像素后,您可以使用CUDA/Graphics interop将其传递给CUDA。

有许多资源可供屏幕捕获。 Here是一个示例。还有很多。

一个可能的建议是使用NVIDIA capture SDK。但是,这并不是CUDA的正式组成部分。将屏幕像素放入CUDA可访问的资源中是一种可能的方法。 (并且该功能在Windows上已弃用。)