warpnonlin.m
来自「包括计算机科学和工程、信号处理、物理学、应用数学和统计学」· M 代码 · 共 30 行
M
30 行
% nonlinear Warp
clear;
im = double(imread('lady.gif'));
[ydim,xdim] = size( im );
% im1 = im1 - min(im1(:));
% im1 = im1 / max(im1(:));
% im2 = im2 - min(im2(:));
% im2 = im2 / max(im2(:));
% im3 = im3 - min(im3(:));
% im3 = im3 / max(im3(:));
K = -0.3;
[x,y] = meshgrid( 2/xdim*([1:xdim]-xdim/2), 2/ydim*([1:ydim]-ydim/2) );
R = sin(x.^2 + y.^2);
x2 = x .* (1 - K*R);
y2 = y .* (1 - K*R);
alpha = max( max(x2(:)), max(y2(:)) );
x2 = x2 / alpha;
y2 = y2 / alpha;
im_out = interp2( x,y,im,x2,y2,'cubic' );
ind = find( isnan(im_out) ); % FIND NANs
im_out(ind) = 0;
% REPLACE WITH ZEROS
im_out = im_out - min(im_out(:));
im_out = im_out / max(im_out(:));
im_out = im_out(2:ydim,2:xdim,:);
imagesc(im_out, [0 1]); axis image off; colormap gray;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?