매트랩에서 이미지를 회전시키는 방법

매트랩에서 이미지를 회전시키는 방법

image rotation in matlab

방법

imrotate(I,angle,method,bbox)

  • I: 회전할 영상, 이미지이다.
  • angle : 회전할 각도이며 단위는 도이다.
  • method : 보간 방법이다. ’nearest’, ‘bilinear’, ‘bicubic’이 있다. 아무것도 입력하지 않으면 ’nearet’가 적용된다.
X = phantom('Modified Shepp-Logan',64);
 
figure()
imagesc(X)
title('X')
 
Y1=imrotate(X,30,'nearest','crop');
Y2=imrotate(X,30,'bilinear','crop');
Y3=imrotate(X,30,'bicubic','crop');

figure()
subplot(1,3,1)
imagesc(Y1)
title('Y1 - nearest')

subplot(1,3,2)
imagesc(Y2)
title('Y2 - bilinear')

subplot(1,3,3)
imagesc(Y3)
title('Y3 - bicubic')

1.png

3.png

  • bbox : 출력 이미지의 크기를 지정해준다. ’loose’는 회전된 이미지에서 원래 크기를 벗어나는 부분까지 출력되도록 출력 영상의 크기를 키운다. ‘crop’는 처음 이미지의 크기에 맞게 회전된 영상을 잘라서 출력한다. 아무것도 입력하지 않으면 ’loose’가 적용된다.
X = phantom('Modified Shepp-Logan',64);
 
figure()
imagesc(X)
title('X - 64*64')
 
Y1=imrotate(X,30,'nearest','loose');
Y2=imrotate(X,30,'nearest','crop');

figure()
subplot(1,2,1)
imagesc(Y1)
title('Y1 - loose 88*88')

subplot(1,2,2)
imagesc(Y2)
title('Y2 - crop 64*64')

1.png

타언어

댓글