代码之家  ›  专栏  ›  技术社区  ›  Ross

带IPP函数的线性梯度

  •  0
  • Ross  · 技术社区  · 16 年前

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

    换句话说,我找不到合适的函数或函数组合来创建渐变r0到r1、g0到g1、b0到b1的RGB图像(初始和最终的RGB值)。 我可以通过循环每个像素和设置颜色手动创建它,但我希望有更优雅(和快速)的方法。

    2 回复  |  直到 14 年前
        1
  •  1
  •   Niki    16 年前

    据我所知, ippiImageRamp 只能创建灰色值渐变,对吗?

    或者,您可以使用 ippiResizeSqrPixel 使用 IPPI_INTER_LINEAR 内插法:

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

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

        2
  •  0
  •   Ross    16 年前

    我找到了一些解决办法。借助ippiiImageRamp功能。

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

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

    dst(x,y)=offset+slope*x,如果轴=ipaxshorizontal,

    dst(x,y)=offset+slope*y,如果轴=ipaxsVertical,

    dst(x,y)=offset+slope*x*y,如果轴=ippaxsboth