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

ResizeFilter

BMart1
New Contributor II
522 Views

What does ResizeFilter do? Is it different than ResizeLanczos?

Bruno

0 Kudos
12 Replies
gaston-hillar
Valued Contributor I
522 Views

Hi Bruno,

ResizeFilter changes the size of an image using a generic filter.

ResizeLanczos changes an image size using interpolation with the Lanczos filter.

 

0 Kudos
gaston-hillar
Valued Contributor I
522 Views

Hi Bruno,

The following page for the documentation of the latest version of Intel IPP provides you with all the resize functions with prior initialization. You can check the documentation to see all the differences. You have a huge number of resize functions.

https://software.intel.com/en-us/node/529047

 

0 Kudos
gaston-hillar
Valued Contributor I
522 Views

Bruno,

I forgot to include the documentation for the ResizeFilter function. The following is the link: https://software.intel.com/en-us/node/504401

0 Kudos
gaston-hillar
Valued Contributor I
522 Views

The documentation for the ResizeLanczos function is available in the following link: https://software.intel.com/en-us/node/504373

0 Kudos
BMart1
New Contributor II
522 Views

Hi Gastón,

The documentation is really scarce. You can call ResizeFilterInit with option ippResizeFilterLanczos, which sounds really similar to calling ResizeLanczos. I'm a signal processing noob, so maybe the distinction is obvious to people of other backgrounds.

Bruno

0 Kudos
gaston-hillar
Valued Contributor I
522 Views

Hi Bruno,

I've been a user for Intel Performance Primitives for a long time. I never had problems with the documentation. However, the documentation provides information about calling the different functions and doesn't explain the goal for each filter. This is domain specific. So, you won't become a signal processing expert by reading the documentation. You require other sources to become a signal processing expert, combined with the documentation on how to call the functions. You need to understand what you want to do and the documentation will allow you to use the appropriate function to achieve your goals.

The ResizeFilterInit function allows you to specify the desired filter to use. There are many ways to achieve the same result.

You can check additional documentation to understand the difference between the filters and they effect and when it is convenient to use each of them.

0 Kudos
gaston-hillar
Valued Contributor I
522 Views

The following link might be helpful. It provides some details about ROI Processing in Geometric Transforms.

https://software.intel.com/en-us/node/504351#9CB2BEA9-5C3D-4E7A-AC42-7CD82CF74E2B

Just make sure you check other sources to have a better understanding of what you can do with these functions.

0 Kudos
Jing_Xu
Employee
522 Views

The main idea of ResizeFilter with Lanczos interpolation is the same as for ResizeLanczos. But ResizeFilter computes pixel values using fixed-point arithmetic, so it has lower accuracy than ResizeLanczos that uses floating point arithmetic to interpolate pixels.

0 Kudos
Valentin_K_Intel
Employee
522 Views

In addition ResizeLanczos API is developed to support external threading.

Best regards,
Valentin

0 Kudos
Adriaan_van_Os
New Contributor I
522 Views

> But ResizeFilter computes pixel values using fixed-point arithmetic, so it has lower accuracy than ResizeLanczos that uses floating point arithmetic to interpolate pixels.

It looks like ResizeFilter is available for  8u_C1R only, so ResizeFilter is of very limited use. You want to say that this function uses fixed-point arithmetic for 8u ? What is the size of this fixed-point arithmetic ? And how can this lead to "lower accuracy" for 8u ?

ResizeLanczos uses floating-point arithmetic for 8u, 16u, 16s, 32f and 64f ? What size of floating-point arithmetic ? And where is this documented (as the original question was related to (lack of) documentation) ?

And what type and size of arithmetic is used by ResizeLinear, ResizeCubic and ResizeSuper ?

Regards,

Adriaan van Os

 

0 Kudos
Valentin_K_Intel
Employee
522 Views

Hi Adriaan van Os,

The type of arithmetic for internal computations is always compromise between accuracy and performance.

Best regards,
Valentin

0 Kudos
Adriaan_van_Os
New Contributor I
522 Views

> The type of arithmetic for internal computations is always compromise between accuracy and performance.

That is like saying like that 2 is always greater than 1. Which is interesting but not informative. Nor addressing my question.

Regards,

Adriaan van Os

0 Kudos
Reply