2
旋轉後,圖像上的點(x,y)需要位於同一圖像上。我使用imrotate,imtransform和imwarp來進行圖像旋轉(下面的代碼顯示imwarp的實現),但似乎沒有一個適合我。輸出的旋轉圖像比原始圖像大。任何人都可以建議如何在輸出旋轉圖像上找到相同的點。如何在旋轉後找到圖像上的一個點?
close all;
I=imread('P.png');
x=339;
y=317;
subplot(2,2,1);
imshow(I),title('Original Image');
hold on;
plot(x,y,'ro');
hold off;
theta=5;
tform = affine2d([cosd(theta) -sind(theta) 0;sind(theta) cosd(theta) 0; 0 0 1])
RI = imwarp(I,tform);
[x1,y1]=transformPointsForward(tform,x,y);
subplot(2,2,2);
imshow(RI),title('Rotated Image');
hold on;
plot(x1,y1,'ro');
hold off;
雖然代碼,如果旋轉的圖像具有相同的大小,原來的形象工程。但在我的情況下,它會導致原始圖像的裁剪。我已經能夠在各種論壇上找到這個問題的答案,但似乎沒有人爲我工作。請回答。