我在制作一个转换为灰度的小程序时遇到了问题。我必须将 BMP 文件加载到 unsigned char 并将其发送到 CUDA 函数(我发现了这个:http://www.mindfiresolutions.com/Image-Processing-with-CUDA-650.php)。
我用过 CImg,但它不能将值保存为 unsigned char 并发送到 CUDA 函数(返回值不是灰度图像)。 如何将图像加载到 unsigned char 作为
px[0] = R,px[1] = G,px[2] = B,px[3] = A
等等。
也许我在太小的图像上进行测试? (10 x 10 像素)。
最佳答案
第一步是将图像文件加载到内存中
如果是bmp,有一个很简单的bitmap loading lib .然后,一旦您将它作为 CPU 上的 unsigned char[] 数组,您就可以使用任何 CUDA 函数将其复制到 GPU 并对其进行处理。
opencv image processing lib 现在很好地支持 CUDA,它的 GPU 图像格式是开始在 CUDA 中编写自己的图像处理任务的好地方。
当然,它具有您可能想要的所有加载/保存/显示功能。
关于c++ - 将 C 中的图像加载到 unsigned char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10951845/