MATLAB Answers

Does imtranslate do subpixel shifts ?

7 views (last 30 days)
raheem mian
raheem mian on 11 Feb 2020
Answered: Jyothis Gireesh on 14 Feb 2020
x = randi(256,200,200);
y = imtransalte(x,[-20.5 10.3]);
I know that you can specify a decimal when using imtranslate,
but will it actually translate by 10.3 or will it take the nearest integer value when translating ?

  0 Comments

Sign in to comment.

Answers (1)

Jyothis Gireesh
Jyothis Gireesh on 14 Feb 2020
Here a few pointers which may be able to help you:
  • For every pixel position in the output, the algorithm tries to find the corresponding position in the input image. For subpixel shifts, such a pixel position may not exist. In such cases we use interpolation techniques to find the intensity value. In the case of ‘imtranslate’ there are techniques available: ‘cubic’, ‘linear’ and ‘nearest’.
  • For ‘cubic’and ‘linear’, the intensity value is calculated as a function of the neighboring values. In this case it may not considered as a rounding-off process.
  • But for ‘nearest’ method, the translation may be considered as being approximated to the nearest full pixel increment.
Hope this helps!!

  0 Comments

Sign in to comment.

Sign in to answer this question.

Products


Release

R2019b