具有IPP功能的线性渐变

时间:2010-09-02 07:52:42

标签: image-processing colors intel-ipp

我想使用IPP(Integrated Performance Primitives)函数创建线性渐变,并避免逐像素颜色处理。

换句话说,我找不到合适的功能或功能组合,这些功能将使我创建具有梯度R0到R1,G0到G1,B0到B1(初始和最终RGB值)的RGB图像。 我可以通过循环每个像素并设置颜色来手动创建它,但我希望有更优雅(和快速)的方法。

2 个答案:

答案 0 :(得分:1)

我理解它的方式,ippiImageRamp只能创建灰度值斜坡,对吗?

或者,您可以使用ippiResizeSqrPixel通过IPPI_INTER_LINEAR插值将2x2像素图像调整为完整尺寸:

RGB0   |   RGB1
---------------                 =>         [Full Sized Image]
RGB0   |   RGB1

结果应该是线性渐变(尽管我从未尝试过)。如果您需要旋转渐变,可以使用ippiWarpAffine同时缩放和旋转。

答案 1 :(得分:0)

我找到了一些解决方案。借助ippiImageRamp功能。

  

该功能可创建一个或三个通道的图像,可用作测试图像,以检查应用不同图像处理功能的效果。

     

目标图像像素值根据以下公式之一计算:

     

dst(x,y)=偏移+斜率* x,如果axis = ippAxsHorizo​​ntal,

     

dst(x,y)= offset + slope * y,如果axis = ippAxsVertical,

     

dst(x,y)= offset + slope * x * y,如果axis = ippAxsBoth