⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 alignshapetoshape.m

📁 cootes提出的ASM算法的matlab实现。在cootes用于课堂使用的源代码的基础上改写。改正了原来代码中的一些错误
💻 M
字号:
function [x2New,y2New,s,Theta,tx,ty]=AlignShapeToShape(x1,y1,x2,y2,W);%function [x2New,y2New,s,Theta,tx,ty]=AlignShapeToShape(x1,y1,x2,y2,W); %align shape 2 to shape 1, i.e. only x2,y2 change%can be called as [x2New,y2New]=AlignShapeToShape(x1,y1,x2,y2,W);X1=x1'*diag(W);Y1=y1'*diag(W);X2=x2'*diag(W);Y2=y2'*diag(W);   Z=(x2.^2 + y2.^2)'*diag(W);w=sum(diag(W));C1=(x1.*x2 + y1.*y2)'*diag(W);C2=(y1.*x2 - x1.*y2)'*diag(W);%Ax=b x=A\bParams=[X2 -Y2 w 0; Y2 X2 0 w; Z 0 X2 Y2; 0 Z -Y2 X2]\[X1;Y1;C1;C2];ax=Params(1); %s* cosThetaay=Params(2); %s* sinThetatx=Params(3);ty=Params(4);Theta=atan(ay/ax);s=ax/cos(Theta);X=ScaleRotateTranslate([x2;y2],s,Theta,tx,ty);x2New=X(1      :end/2);y2New=X(end/2+1:end);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -