matlab drawbox函数,matlab特征匹配部分程序整理

Affine

function img2 = affine(img, r, sx, sy, a, b, xo, yo)

R = [cos(r) -sin(r) 0;

sin(r) cos(r) 0;

0 0 1];

S = [sx a 0;

b sy 0;

0 0 1];

T2 = [1 0 -xo;

0 1 -yo;

0 0 1];

T1 = [1 0 xo;

0 1 yo;

0 0 1];

A = T1*R*S*T2;

[h,w]=size(img);

[x,y] = meshgrid(1:h,1:w);

x=x(:);

y=y(:);

XP = [x';y';ones(1,length(x))];

X = A*XP;

z = find(X(1,:)>w-1);

X(1,z) = w-1;

z = find(X(1,:)<=1);

X(1,z) = 1.5;

z= find(X(2,:)>h-1);

X(2,z) = h-1;

z= find(X(2,:)<1.5);

X(2,z) = 1.5;

x = X(1,:);

y = X(2,:);

alpha = x - floor(x); %calculate alphas and betas for each point

beta = y - floor(y);

fx = floor(x); fy = floor(y);

inw = fy + (fx-1)*h; %create index(索引)for neighboring pixels ine = fy + fx*h;

isw = fy+1 + (fx-1)*h;

ise = fy+1 + fx*h;

img2 = (1-alpha).*(1-beta).*img(inw) + ... %interpolate(同样)(1-alpha).*beta.*img(isw) + ...

alpha.*(1-beta).*img(ine) + ...

alpha.*beta.*img(ise);

img2 = reshape(img2,h,w);

imagesc(img2);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值