1
어떤 이유로 imtransform
함수는 기본적으로 변환 부분을 무시합니다.어파인 변환을 적용하여 번역을 포함한 모든 변환에서 잘 작동합니까?
수동으로 설명한대로 XData
및 YData
의 추가 공간을 추가하면 간단한 사례 (예 : 번역 만 가능) 만 처리합니다.
그래서 Matlab에서 모든 기능을 갖춘 affine transform을 적용하는 방법은 무엇입니까?
I = imread('cameraman.png');
imshow(I);
% does not translate
xform = [1 2 0; 2 1 0; 100 0 1];
T = maketform('affine',xform);
I2 = imtransform(I,T);
figure, imshow(I2)
% translates but cuts some portion of an image
xform = [1 2 0; 2 1 0; 100 0 1];
T = maketform('affine',xform);
I2 = imtransform(I,T,'XData',[1 size(I,2)+xform(3,1)],'YData',[1 size(I,1)+xform(3,2)]);
figure, imshow(I2)
나는 'axis'명령과 'XData'명령을 혼동한다고 생각합니다. [Steve의 Matlab 이미지 처리 블로그] (http://blogs.mathworks.com/steve/2006/07/07/spatial-transformations-translation-confusion/)에는 몇 가지 훌륭한 예가 있습니다. – Maurits
기사는 나에게 새로운 것을 말하지 않는 것처럼 보입니다. 그리고 나는 아직도 모든 경우에 변형을 수행하는 방법을 이해하지 못합니다. 참고 : 화면에 이미지를 올바르게 그리지 않으려 고합니다. 올바르게 메모리에 변환하려고합니다. –