首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不带freeImage的核电站CUDA

不带freeImage的核电站CUDA
EN

Stack Overflow用户
提问于 2013-02-11 22:29:32
回答 1查看 2.4K关注 0票数 4

是用于CUDA构建的NPP库仅使用freeImage,还是我可以使用其他结构或只使用unsigned char *image作为NPPs函数的输入。

我提出这个问题的原因是,NPP的所有样本都有用于freeImage的大型包装器。

我仔细查看了NVIDIA性能原语( NPP ),但其中只提到了一个图像,而没有具体说明使用了哪种图像格式。

如果您有一个示例说明如何在不使用freeImage的情况下使用NPP,或者只是不从磁盘加载映像,那么我会非常高兴。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-12 00:09:23

NPP既不依赖于FreeImage,也不遵循任何图像处理库特定的约定。它只是遵循图像处理领域中使用的通用约定。它希望图像以行为主的顺序存储。图像通常存储为步长线性存储器。因此,NPP函数将指向存储在设备上的原始图像数据的指针、图像的大小和图像的step作为参数。

在NPP示例中,FreeImage仅用作映像I/O库,以便在主机端进行映像处理。

我使用NPP开发图像处理功能。为了测试函数,我使用OpenCV从磁盘读取图像,将数据从IplImage复制到原始设备指针,并将指针传递给NPP函数。

以下是使用OpenCV作为主机的NPP的示例。

代码语言:javascript
复制
#include <iostream>
#include <cuda_runtime.h>
#include <npp.h>
#include <opencv2/opencv.hpp>

using namespace std;

int main()
{    
    const int width = 640, height = 480;

    //Create an 8 bit single channel image
    IplImage* img = cvCreateImage(cvSize(width,height),IPL_DEPTH_8U,1);
    //Set All Image Pixels To 0
    cvZero(img);

    cvShowImage("Input",img);
    cvWaitKey();


    const int step = img->widthStep;
    const int bytes = img->widthStep * img->height;

    unsigned char *dSrc, *dDst;
    cudaMalloc<unsigned char>(&dSrc,bytes);
    cudaMalloc<unsigned char>(&dDst,bytes);

    //Copy Data From IplImage to Device Pointer
    cudaMemcpy(dSrc,img->imageData,bytes,cudaMemcpyHostToDevice);

    NppiSize size;
    size.width = width;
    size.height = height;

    const Npp8u value = 150;

    //Call NPP function to add a constant value to each pixel of the image
    nppiAddC_8u_C1RSfs(dSrc,step,value,dDst,step,size,1);

    //Copy back the result from device to IplImage
    cudaMemcpy(img->imageData,dDst,bytes,cudaMemcpyDeviceToHost);

    cudaFree(dSrc);
    cudaFree(dDst);

    cvShowImage("Output",img);
    cvWaitKey();

    cvReleaseImage(&img);

    return 0;
}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14814088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档