3

NVIDIA NPP を使用して、いくつかの画像サイズ変更ルーチンを実験しようとしています。正確なサイズにリサイズしたい。NVIDIA NPP を使用した画像のサイズ変更を検討してきましたが、そのサイズ変更関数はすべて X および Y 次元の倍率を使用しており、直接目的の次元を取得する API は確認できませんでした。

例として、これは 1 つの 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);

目的のディメンションの適切なスケール ファクターを見つけることが 1 つの方法であることに気付きましたが、API がスケール ファクターに基づいて目的の ROI をどのように決定するかは正確にはわかりません (浮動小数点演算であるため)。jpegNPP サンプルの計算を逆にしてスケール ファクターを見つけることはできますが、API 自体は何の保証もしていないので、安全性についてはわかりません。可能性は何ですか?

副次的な質問として、API は nXShift と nYShift の 2 つのパラメーターも受け取りますが、「x 方向のソース ピクセル シフト」とだけ表示されます。ここでどのようなシフトについて話しているのか、正確にはわかりません。アイデアはありますか?

4

1 に答える 1

1

下の画像に示すように、画像全体SRCを画像内の小さな四角形にマップしたい場合は、 andとを使用します。DSTxFactor = yFactor = 0.5xShift = 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 に答える