I use ippiResizeSqrPixel function, which is now (IPP 7.1) deprecated to zoom and move with subpixel precision an image (Ipp32f).

In the process of trying to replace it with the suggested function ippiResizexxx, I found out that the replacement function has limitations.

The former, now deprecated function, did support an explicit zoom factor and destination offset expressed in double and  that are no longer present in the new ippiResizeXXX. Now I',m evalutating ippiWarpAffine (with c01 anda c10 coefficients at 0) as a substitute.

What do you suggest?



4 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hi Giacomo,

Yes, a new resize API has the listed limitations, while ippiWarpAffine can do image transformations with subpixel precision. However there is the difference between ippiWarpAffine and ResizeSqrPixel approaches: the first function considers an image as a grid with pixels as nodes, while the second function considers pixels as "squares".

Best regards, Valentin

Hi Valentin,

thank you for your answer. I can't understand which is the implication of the difference that you describe. The two function operation looks very similar:  coordinate transformation (IppiResizeSqr pixel is a particular case of the more general WarpAffine) and resample using interpolation mode assigned. So where the difference that you describe come in?

Best regards, Giacomo

Best Reply

Imagine that you have an image 13x13 pixels - so it should be clear that each row has 13 pixels but if it's considered as a grid - it has only 12 "distances" between these pixels. Applying ResizeSqrPixel and "old" Resize with 2x size increasing you'll have different outputs - 26 pixels row for the first one and 24 "distances" (25 pixels) for the second one. WarpAffine implementation corresponds to the second approach - so you should take this fact in mind - this is what Valentin has mentioned.

regards, Igor

Leave a Comment

Please sign in to add a comment. Not a member? Join today