繁体   English   中英

如何在CUDA Visual Studio 10中加载灰度图像?

[英]How to load a gray scale image in CUDA Visual Studio 10?

我只想知道在Visual Studio 10中加载图像的CUDA代码。我正在编写以下代码

 char * srcPath = "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v5.0/src/lena.pgm";

 cutLoadPGMub(srcPath , &h_pixels , &width , &height);

但它不起作用。 我认为我错误地给出了图像的路径...

请为此提供解决方案。 我只是CUDA的新手。

您所显示的方法仅适用于非常老的CUDA版本,即CUDA 4.2或更早版本,并且取决于在较新的CUDA发行版中已删除的SDK函数。

加载PGM映像(或磁盘文件中的任何映像)不是特定于CUDA的,并且在Web上以及在stackoverflow上都有很多可用的资源,例如, 问题/答案

我强烈建议您查找和使用自己选择的资源。 这样,您的代码/构建环境将不会依赖于CUDA示例分发,该分发可能会从一个CUDA版本更改为下一个CUDA版本(如您的配方中已经发生的那样)。

但是,CUDA样本仍会加载PGM图像以执行某些演示。 如果您要使用其中之一作为示例,请参考helper_image.h文件以获取可用功能的摘要,例如sdkLoadPGMsdkSavePGM 在最新CUDA版本的标准linux安装中,此文件位于/usr/local/cuda/samples/common/inc 但是,不能保证将来的CUDA版本将以这种方式提供此功能。

有关使用这些PGM函数的完整示例,请查看使用它们的任何示例代码(linux grep将在此处提供帮助),例如SobelFilter cuda示例代码(尤其是SobelFilter.cpp ):

    if (sdkLoadPGM<unsigned char>(file, &pixels, &w, &h) != true)
    {
        printf("Failed to load PGM image file: %s\n", file);
        exit(EXIT_FAILURE);
    }

当然,这取决于将样本正确加载到计算机上,包括样本include目录中的相应文件,以及样本库功能是否可用以及是否正确链接。 您可以使用cuda示例项目(包括其Makefile)作为管理所有这些的路线图。

在某些情况下,CUDA样本还会加载其他图像格式,例如PPM,也许还会加载其他图像格式。 如果在CUDA示例代码目录上使用linux grep ,则可以很快找到提供的方法/格式以及如何使用它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM