I'm trying to find an approach for integral image resizing. I found out that I can do it with a bilinear interpolation method, but with this approach I can only resizing by the factor which is a power of two.

I found a paper (Speeding Up Object Detection Fast Resizing in the Integral Image Domain) which describes a formula which allows to resize arbitrarily:

$$II_r(x,y) \approx \frac{1}{4a^2}\space \cdot bilinear(II, (2ax + b, 2ay+b))$$

$$2a \space - resizing\space factor$$ $$b \space - resizing\space filter\space offset$$

I would like to ask about explanation of this formula. I assume that I have to find a correct value of resizing filter offset but I don't know how to do this.


The formula says that the resized (smaller) image pixel at (x,y) is a bilinear approximation of the pixel at location (2ax+b, 2ay+b). Ignoring b for the moment, you can see that the scale factor (or "resizing factor") is 2a. So for example, if a=1.13, the pixel at 1,1 would come from a (bilinear) estimate of the pixel at (2.26,2.26).

As the paper mentions (the link the OP gave is no longer valid, it can be found at Speeding Up Object Dection...), the variable b is the filter phase, -a<b<a. It allows for a slight variation in exactly where in the image you will grab the downscaled image. Think of it as a global shift in the entire image of a small amount (up to 1.13 pixels in the example of a=1.13).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.