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

How to port 'ippiResize_8u_C1R' function to IPP version 8.1.1

Don_U_
Beginner
785 Views

Hello:

We have one very old IPP funtion (from IPP 2.0) that we have been using for more than a decade. It is called 'ippiResize_8u_C1R'. It appears that that function is no longer available in IPP 8.1.

We are not sure which corresponding new method we should be calling when we upgrade our code base to IPP 8.1. We could not find or found very little information on internet about that subject. Note we are also upgrading from 32 bit to 64 bit platform (Windows 7). We use "Nearest Neighbor' interpolation method when we call that function.

As a first step, can you guide us what changes we should make to make it compatible with 8.1? We want to achieve the same exact functionality in order not to impact our users. We provide methods\wrappers to users who need to resize image.

Are there any 8.1 code examples for resize image?
I  attached 2 files which has code showing what we have today using the old function "ippiResize_8u_C1R"
The first file contains code for our resizeImage() wrapper method for resizing 1 D image, The second file is our resizeImage() wrapper method for 2 D image.   Both functions use the old IPP funtion. We use  "Nearest Neighbor' interpolation method.
 

I am a beginner in IPP. and I was assigned to port our code base to 8.1.1. So if you can guide me with as many details as possible on how to replace our old function with the new one which should achieve the same functionality, it would be much appreciated.

 

Thanks in advance!

Steve

0 Kudos
1 Reply
Valentin_K_Intel
Employee
785 Views

Hello Steve,

These code examples for resize image can help: https://software.intel.com/en-us/node/504353

But the difference between "old" (deprecated Resize) and "new" (ResizeSqrPixel & Resize<Interpolation>) approaches is that the first one resizes a number of "distances" between image pixels while the new 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.

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

Regards, Valentin
 

0 Kudos
Reply