c++ - 将 C 中的图像加载到 unsigned char

标签 c++ c image image-processing cuda

我在制作一个转换为灰度的小程序时遇到了问题。我必须将 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/

相关文章:

c++ - 如何将菜单栏添加到 QWidget?

c++ - 友元函数有哪些安全风险?

c - 如何在树莓派上运行没有操作系统的 C 程序?

image - 从网页中提取 'best'图像的技术

iphone - 图片加载到 UIWebView 时无法放大缩小

image - 将图像按钮添加到顶级窗口 Tkinter

c++ - boost::lockfree::queue 似乎没有释放内存,尽管调用了每个集合对象上的析构函数

c++ - C++ 的拆分函数

c - 如何将数组声明为参数不需要第一维的界限?

c - 如何不覆盖字符串并将其放入 typedef 函数中