【发布时间】:2016-01-11 21:22:28
【问题描述】:
我有一个任务,主要是比较原生 C++ 算法速度与 CUDA 中的对应实现。我想我的问题很简单。
我需要在本机 C++ 中找到代码(或编写一个程序),将图像从彩色转换为灰度。我的任务是对算法进行基准测试,在 CUDA 中重写,然后比较速度。
我猜这只是一个 2D 矩阵,但我很难找到可用于基准测试的开源代码。我从哪里开始?
【问题讨论】:
我有一个任务,主要是比较原生 C++ 算法速度与 CUDA 中的对应实现。我想我的问题很简单。
我需要在本机 C++ 中找到代码(或编写一个程序),将图像从彩色转换为灰度。我的任务是对算法进行基准测试,在 CUDA 中重写,然后比较速度。
我猜这只是一个 2D 矩阵,但我很难找到可用于基准测试的开源代码。我从哪里开始?
【问题讨论】:
您似乎在要求灰度算法。
struct ColorRGB8
{
char r;
char g;
char b;
ColorRGB8 toGrayScale()
{
ColorRGB8 ret;
//Intensity Algorithm as per void_ptr's request
char linearIntensity = (char)(0.2126f * r + 0.7512f * g + 0.0722 * b);
ret.r = linearIntensity;
ret.g = linearIntensity;
ret.b = linearIntensity;
return ret;
}
};
【讨论】: