Does imtranslate do subpixel shifts ?
이전 댓글 표시
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
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에서 Read, Write, and Modify Image에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!