How to substitute p(x/a+x1,y/a+x2) to p(x,y),where p(x,y) is original image, x1 and x2 are the centroid of p(x,y),x1=​m10/m00,x2​=m01/m00,a​=sqrt(β/m0​0),β is a predetermined value. In fact, this is doing scale and translation normalization

1 view (last 30 days)
How to substitute p(x/a+x1,y/a+x2) to p(x,y),where p(x,y) is original image, x1 and x2 are the centroid of p(x,y),x1=m10/m00,x2=m01/m00,a=sqrt(β/m00),β is a predetermined value. In fact, this is doing scale and translation normalization
  4 Comments
Rik
Rik on 15 Feb 2021
Sounds like you want interpolation. The easiest way to do that is to generate a coordinate grid (e.g. with meshgrid or ndgrid).
Again, what have you tried? That might make it a bit more clear what you actually mean and what your specific problem is. What step is giving you trouble?
Abul Abbas
Abul Abbas on 15 Feb 2021
I have realized translation invariance by transforming the image into a new one whose first order moments, m01 and m10, are both equal to zero. This is done by transforming the original f (x, y) image into another one which is
f (x+x', y+y') where x' and y' are the centroid location of the original image. In summary an image function f (x, y) can be normalized with respect to scale and translation by transforming it into g (x, y), where
g(x,y) = f(x/a+x', y/a+y')

Sign in to comment.

Answers (1)

Bjorn Gustavsson
Bjorn Gustavsson on 15 Feb 2021
You solve that with interp2:
xi = xC + [-dx:dx]*xScale;
yi = yC + [-dy:dy]*yScale;
[xi,yi] = meshgrid(xi,yi);
p_prime = interp2(1:size(p,2),1:size(p,1),p,xi,yi);
You have to check for xi and yi falling outside of the image-coordinates, and handle that afterwards. By default you'll get nan-values. Check the help and documentation for interp2 for details. You'll also easily translate your coordinate-transformation to the one above.
HTH
  7 Comments
Bjorn Gustavsson
Bjorn Gustavsson on 15 Feb 2021
If you have an image you only have information about the image intensities between the first and last pixels of the image, if you try to extrapolate intensities outside the image support [1 - sy , 1 - sx] you are only guessing. Matlab will allow you to do that type of guess-work, check the help and documentation for extrapolation-methods. Don't expect anything that is all that much worth by extrapolating, there is allways place for Occams pink elephant just outside the field-of-view.

Sign in to comment.

Categories

Find more on Images in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!