【发布时间】:2021-01-31 06:01:45
【问题描述】:
下午好。 我找到了这篇文章,但它展示了如何从文件夹中的图像中获取像素。是否可以直接从桌面获取像素?
How to get image pixel value and image height and width in CUDA C?
【问题讨论】:
下午好。 我找到了这篇文章,但它展示了如何从文件夹中的图像中获取像素。是否可以直接从桌面获取像素?
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 上已弃用。)
【讨论】:
cudaMemcpy。研究任何 CUDA 示例代码,例如 vectorAdd。如果图像已经在 GPU 内存中,但在图形方面,请使用 CUDA 图形互操作。研究任何 CUDA 图形互操作示例代码,例如 simpleTexture3D