-3
我有一個任務,它將本地C++算法速度與CUDA中的對應實現進行比較。我想,我的問題很簡單。將圖像從彩色轉換爲灰度
我需要在原生C++(或編寫一個程序)中找到將圖像從彩色轉換爲灰度的代碼。我的任務是對算法進行基準測試,在CUDA中重寫它,然後比較速度。
我猜這只是一個二維矩陣,但我很難追查一段可以用來進行基準測試的開源代碼。我從哪說起呢?
我有一個任務,它將本地C++算法速度與CUDA中的對應實現進行比較。我想,我的問題很簡單。將圖像從彩色轉換爲灰度
我需要在原生C++(或編寫一個程序)中找到將圖像從彩色轉換爲灰度的代碼。我的任務是對算法進行基準測試,在CUDA中重寫它,然後比較速度。
我猜這只是一個二維矩陣,但我很難追查一段可以用來進行基準測試的開源代碼。我從哪說起呢?
你似乎在問一個灰度算法。
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;
}
};
根據眼睛的敏感度來衡量顏色分量可能會更好。見例如https://en.wikipedia.org/wiki/Grayscale#Converting_color_to_grayscale另外,浮點除法在這裏真的需要嗎? –