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 ?

답변 (1개)

Jyothis Gireesh
Jyothis Gireesh 2020년 2월 14일

0 개 추천

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!!

카테고리

도움말 센터 및 File Exchange에서 Image Processing Toolbox에 대해 자세히 알아보기

제품

릴리스

R2019b

질문:

2020년 2월 11일

답변:

2020년 2월 14일

Community Treasure Hunt

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

Start Hunting!

Translated by