Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.
6699 Discussions

Difference between ResizeCenter and ReSize<interpolationType>



   We were currently using the intel IPP 7.1 but still using the depreciated method ResizeCenter.

    We were evaluating the intel IPP 8.2.1 and want to replace the resizecenter method with Resize<Interpolation>

    my Q's here are  

   1)  can we achieve same  display as ResizeCenter using new method Resize<Interpolation> or do we have any change when i compare pixel by              pixel for the resized images. This is needed to ensure that check correctness and we have already unit testers to check the output pixel by pixel.

    2) I had also seen options for border interpolation which is not present in the old method resizecenter.

    3)  Also we have been using the multi threaded version of static library in my project.. Now i have read somewhere that this multi threaded libraries are depreciated in 8.2.1 and kept under a folder in threaded folder. Does it mean that no new processor optimizations went into those multi threaded library version. Will it be any change in performance if  we still link to newer version of multi threaded libraries compared to single threaded library.

    4) Also please tell me the difference between the ippresizeCenter,ippiResizeSqrPixle and ippiresize methods in terms of abilities and usage.

Thanks & Regards,



0 Kudos
1 Reply

Hi Muralidhar,

The ResizeCenter is the concatenation of two operations: scaling and shift. The function changes an image size and shifts the destination image relative to the specified point.

The main difference between ResizeCenter  and Resize<Interpolation> scaling approaches is that the first one resizes a number of "distances" between image pixels while the second one considers pixels as "squares" and resizes a number of such "squares". For example, if we 2x increase 4x4 image, in the first case for image width = 4 we have 3 distances and applying scale=2 we'll have 6 distances and 7 pixels output while for the new approach we'll have 8 pixels. So most likely there are pixel differences between output images of the functions Resize<Interpolation> and ResizeCenter.

Also  Resize<Interpolation> API accepts the source and destination image sizes and it does not use scale factors explicitly.

Best regards,

0 Kudos