我有一个图像,并使用imtransform函数对其进行旋转。此函数的输出是图像的四个角处都有黑色部分的图像。我想通过vl_dsift提取图像的一角中的黑色部分以外的帧和描述符。为此,我使用以下代码:
th = 50;
s = 0.8;
A = imread('cameraman.tif');
[H,W]= size(A);
T = [s*cosd(th), -s*sind(th), 0 ; s*sind(th), s*cosd(th) ,0; 0, 0 ,1];
B =imtransform(A,maketform('projective',T'),'xdata',[-W/2 W/2],'ydata',[-H/2
H/2],'udata',[-W/2 W/2],'vdata',[-H/2 H/2]);
P = [-W/2 ,W/2 W/2 ,-W/2; -H/2 ,-H/2 ,H/2, H/2; 1, 1, 1 ,1];
Pt = T*P;
Pt = Pt./repmat(Pt(3,:),3,1);
Pt = Pt(1:2,:);
opts = {'size', 8, 'step', 5, 'fast'};
[fb, db] = vl_dsift(single(B), opts{:});
in = inpolygon(fb(1,:),fb(2,:),Pt(1,:),Pt(2,:));
您能帮我找到它们在多边形中的框架和描述符吗?