Quantcast
Channel: Intel® Software - Intel® Integrated Performance Primitives
Viewing all articles
Browse latest Browse all 1489

IPP 6.1 ResizeShift() equivalent in IPP 9.0

$
0
0

Hi,

I need to get ResizeShift() method from IPP 6.1 replaced by IPP 9.0 equivalent method.
Output for IPP 9.0 using the following code does not match with IPP 6.1.

Input Parameters used:

srcRoi = {8, 8};
dstRoiSize = {448,448};
dstStep = 512 * sizeof(float); //original size of image is 512x512
srcStep = srcRoi.width * sizeof(float);
xFr = yFr = 0.0136986; //
xShift = yShift = 0.5;

IPP 6.1 call to ResizeShift:

ippiResizeShift_32f_C1R(src, srcSize, srcStep, srcRoi, dstStart, dstStep, dstRoiSize, xFr, yFr, xShift, yShift, IPPI_INTER_CUBIC);

IPP 9.0 call to Resize method:

int pSpecSize = 0, pInitBufSize = 0;
ippiResizeGetSize_32f(srcSize, dstRoiSize, ippCubic, 0/*antialiasing*/, &pSpecSize, &pInitBufSize);

IppiResizeSpec_32f* pSpec = (IppiResizeSpec_32f*)ippMalloc(pSpecSize);
Ipp8u* pBuffer = (Ipp8u*)ippMalloc(pInitBufSize);

ippiResizeCubicInit_32f(srcSize, dstRoiSize, 0.0f/*valueB*/, 0.5f/*valueC*/, pSpec, pBuffer);
ippiResizeGetBufferSize_32f(pSpec, dstRoiSize/*dstSize*/, 1/*numChannels*/, &pInitBufSize);

ippFree(pBuffer);
pBuffer = (Ipp8u*)ippMalloc(pInitBufSize);

ippiResizeCubic_32f_C1R(src, srcStep, dstStart, dstStep, { xShift, yShift }/*Offset*/, dstRoiSize/* dstSize*/, ippBorderInMem, 0/*borderValue*/, pSpec, pBuffer);

ippFree(pBuffer);
ippFree(pSpec);

Am i missing any preprocessing step required for IPP 9.0 ?

Files attached include :
ResizeCubicIn.png -> input image to IPP 6.1 & IPP 9.0 resize method calls.
ResizeCubicOut_IPP_90.png -> output image for IPP 9.0 resize() method
ResizeShiftOut_IPP61.png -> output image for IPP 6.1 resizeShift() mehtod.


Viewing all articles
Browse latest Browse all 1489

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>