我正在尝试使用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方向的源像素移位”。我不清楚这里正在讨论什么样的转变。你有什么想法吗?
答案 0 :(得分:1)
如果我想将整个SRC
图片映射到DST
图片中较小的矩形,如下图所示,我会使用xFactor = yFactor = 0.5
和xShift = 0.5*DST.width
和{ {1}}。
Mapping src to half size destination image
换句话说,yShift = 0
中(x,y)
处的像素映射到SRC
中的像素(x',y')
DST
在这种情况下,源和目标ROI都可以是各个图像的完整支持。