Image processing 带IPP函数的线性梯度

Image processing 带IPP函数的线性梯度,image-processing,colors,intel-ipp,Image Processing,Colors,Intel Ipp,我想使用IPP(集成性能原语)函数创建线性渐变,并避免逐像素的颜色操纵 换句话说,我找不到合适的函数或函数组合来创建梯度为R0到R1、G0到G1、B0到B1(初始和最终RGB值)的RGB图像。 我可以通过循环每个像素和设置颜色来手动创建它,但我希望有更优雅(和快速)的方法来实现。我找到了一些解决方案。借助ippiImageRamp函数 该函数创建一个单通道或三通道图像,该图像可用作测试图像,以检查应用不同图像处理功能的效果 根据以下公式之一计算目标图像像素值: dst(x,y)=偏移+斜率*x,

我想使用IPP(集成性能原语)函数创建线性渐变,并避免逐像素的颜色操纵

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

我找到了一些解决方案。借助ippiImageRamp函数

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

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

dst(x,y)=偏移+斜率*x,如果轴=水平轴

dst(x,y)=偏移+斜率*y,如果轴=垂直轴

dst(x,y)=偏移+斜率*x*y,如果轴=iPaxsboth


据我理解,
ippiimagerramp
只能创建灰度值渐变,对吗

或者,您可以使用
ippiresizesqrpoixel
使用
IPPI\u INTER\u LINEAR
插值将2x2像素图像调整为全尺寸:

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

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

调整大小sqrpixel的好主意,但性能不确定。实际上,我使用ippiRotate进行平移和旋转,但ippiWarpAffine也可以完成这项工作。ippiImageRamp在RGB上工作,但不独立。我当前的算法实际上只需要灰度值渐变来初始化。