我想使用IPP(Integrated Performance Primitives)函数创建线性渐变,并避免逐像素颜色处理。
换句话说,我找不到合适的功能或功能组合,这些功能将使我创建具有梯度R0到R1,G0到G1,B0到B1(初始和最终RGB值)的RGB图像。 我可以通过循环每个像素并设置颜色来手动创建它,但我希望有更优雅(和快速)的方法。
答案 0 :(得分:1)
我理解它的方式,ippiImageRamp
只能创建灰度值斜坡,对吗?
或者,您可以使用ippiResizeSqrPixel
通过IPPI_INTER_LINEAR
插值将2x2像素图像调整为完整尺寸:
RGB0 | RGB1
--------------- => [Full Sized Image]
RGB0 | RGB1
结果应该是线性渐变(尽管我从未尝试过)。如果您需要旋转渐变,可以使用ippiWarpAffine
同时缩放和旋转。
答案 1 :(得分:0)
我找到了一些解决方案。借助ippiImageRamp功能。
该功能可创建一个或三个通道的图像,可用作测试图像,以检查应用不同图像处理功能的效果。
目标图像像素值根据以下公式之一计算:
dst(x,y)=偏移+斜率* x,如果axis = ippAxsHorizontal,
dst(x,y)= offset + slope * y,如果axis = ippAxsVertical,
dst(x,y)= offset + slope * x * y,如果axis = ippAxsBoth