3

我正在尝试使用 NVIDIA NPP 来试验一些图像大小调整例程。我想调整到精确的尺寸。我一直在研究使用 NVIDIA NPP 调整图像大小,但它的所有调整大小函数都采用 X 和 Y 尺寸的比例因子,我看不到任何 API 采用直接目标尺寸。

例如,这是一个 API:

NppStatus nppiResizeSqrPixel_8u_C1R(const Npp8u * pSrc, NppiSize oSrcSize, int nSrcStep, NppiRect oSrcROI, Npp8u * pDst, int nDstStep, NppiRect oDstROI, double nXFactor, double nYFactor, double nXShift, double nYShift, int eInterpolation);

我意识到一种方法可能是找到目标维度的适当比例因子,但我们并不完全知道 API 如何根据比例因子决定目标 ROI(因为它是浮点数学)。我们可以反转 jpegNPP 样本中的计算来找到比例因子,但 API 本身并没有做出任何保证,所以我不确定它有多安全。任何想法有什么可能性?

作为一个附带问题,API 还接受两个参数,nXShift 和 nYShift,但只是说“x 方向的源像素偏移”。我不太清楚这里谈论的是什么转变。你有想法吗?

4

1 回答 1

1

如果我想将整个SRC图像映射到图像中较小的矩形,DST如下图所示,我将使用xFactor = yFactor = 0.5andxShift = 0.5*DST.widthyShift = 0

将 src 映射到一半大小的目标图像

换句话说,位于的像素(x,y)SRC映射到位于(x',y')DST像素

 x' = xFactor * x + xShift
 y' = yFactor * y + yShift

在这种情况下,源 ROI 和目标 ROI 都可以是各自图像的全部支持。

于 2016-07-09T03:10:42.310 回答