论文@http://download.csdn.net/detail/u011339825/9250417
代码@http://download.csdn.net/detail/u011339825/9250429
本文为个人的学习笔记
warpimg.m
function wimg = warpimg(img, p, sz) % function wimg = warpimg(img, p, sz) % % img(h,w) % p(6,n) : mat format % sz(th,tw) % %% Copyright (C) 2005 Jongwoo Lim and David Ross. %% All rights reserved. if (nargin < 3) sz = size(img); %32*32 end if (size(p,1) == 1) p = p(:); end w = sz(2); h = sz(1); n = size(p,2); %[x,y] = meshgrid(1:w, 1:h); [x,y] = meshgrid([1:w]-w/2, [1:h]-h/2); %相对于center point,所以减h,w/2 pos = reshape(cat(2, ones(h*w,1),x(:),y(:)) ... * [p(1,:) p(2,:); p(3:4,:) p(5:6,:)], [h,w,n,2]); %各点转化为标准二维坐标 wimg = squeeze(interp2(img, pos(:,:,:,1), pos(:,:,:,2))); %旋转获取框的各点的值 interp2 插值 squeeze 去除单维度 wimg(find(isnan(wimg))) = 0;
img:二维图像
p[x,y,xcos,-ysin,xsin,ycos]:
x,y:coordinates of the centre of the box;
╭x,y ╮╭ xcos,xsin╮
╰ ╯╰ -ysin,ycos╯ 坐标转化矩阵。矩阵转化详见:@http://blog.csdn.net/u011339825/article/details/49703421
wimg:得到box 的各点值(像素或灰度)