我正在尝试在c ++中实现高斯模糊,并且遇到了一个问题,该问题涉及2d图像在运行时不模糊。整个过程是加载全彩色图像并将其更改为灰度,但也应使其模糊。我还尝试在一维图像中进行处理,并且模糊效果有效。我正在使用模具访问模式来模糊数据。任何指导都会有所帮助。
模糊模式代码
//use the Stencil access pattern to blur the data (1D edge detector)
tbb::parallel_for(blocked_range<int>(1, n - 1), [&](const blocked_range<int>& range)
{
for (int i = range.begin(); i != range.end(); i++)
floatOutput[i] = floatInput[i - 1] * -2 + floatInput[i] * 0 + floatInput[i + 1] * 2;
});
保存代码
std::cout << "Saving image...\n";
outputImage.convertToType(FREE_IMAGE_TYPE::FIT_BITMAP);
outputImage.convertTo24Bits();
outputImage.save("blurred.png");
std::cout << "...done\n\n";