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

📄 mlsd2dwarp.m

📁 meshless method programme for moving least square approximation
💻 M
字号:
function [imgo,ifv,fv] = MLSD2DWarp(varargin)% MLSD2DWARP  Transforming an image warping a grid of points.%% function [imgo,ifv,fv] = MLSD2DWarp(img,mlsd,q,X,Y,mode)%%  This function transform an image warping a grid of points at a certain% step size. An MLSD is required.%%  Parameters%  ----------% IN:%  img  = The image to be warped.%  mlsd = An mlsd.%  q    = The moved handles (2|3xN points or 4xN segments).%  X    = The X grid (obtained with meshgrid).%  Y    = The Y grid (obtained with meshgrid).%  mode = The interpolation mode: {'cubic','linear','nearest'}. (default='linear')% OUT:%  imgo = The warped image.%  ifv  = The inverse warping.%  fv   = The warped image points.% Parsing parameters:[img,mlsd,q,X,Y,mode] = ParseParams(varargin{:});% Image info:[h,w,c] = size(img);% Generating the grid:v = [X(:)';Y(:)'];% Generating the complete grid:[TX,TY] = meshgrid(1:w,1:h);% Computing the warp:sfv = MLSD2DTransform(mlsd,q);% Computing the displacements:dxy = v-sfv;dxT = interp2(X,Y,reshape(dxy(1,:),size(X)),TX,TY);dyT = interp2(X,Y,reshape(dxy(2,:),size(X)),TX,TY);% Computing the new (inverse) points:ifXT = TX+dxT;ifYT = TY+dyT;ifv = [ifXT(:),ifYT(:)]';% If required computing the direct points:if nargout>2    %Moving in the other direction:    fXT = TX-dxT;    fYT = TY-dyT;    fv = [fXT(:),fYT(:)]';end% Warping:tmap = cat(3,ifXT,ifYT);resamp = makeresampler(mode,'fill');imgo = tformarray(img,[],resamp,[2 1],[1 2],[],tmap,0);% ------------------------ LOCAL FUNCTIONS ------------------------% Parsing of parameters:function [img,mlsd,q,X,Y,mode] = ParseParams(varargin)% Number of parameters:if nargin<5 error('Too few parameters'); endif nargin>6 error('Too many parameters'); end% Set up variables:varnames = {'img','mlsd','q','X','Y','mode'};for ind=1:nargin    eval([varnames{ind} ' = varargin{ind} ;']);end% Default values:if nargin<6 mode='linear'; end

⌨️ 快捷键说明

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