A quick play with the awesome tformarray() function.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | I = checkerboard(100, 3);v = 0;j = 0;k=2;% locally varying with sinusoidfor i=1:1:800[nrows,ncols] = size(I);[xi,yi] = meshgrid(1:ncols,1:nrows);a1 = i; % Try varying the amplitude of the sinusoids.a2 = j;imid = round(size(I,2)/2); % Find index of middle elementu = xi + a1*sin(pi*xi/imid)+ cos(i);u = u+v - 250;v = yi - a2*sin(pi*yi/imid) + sin(j+i);tmap_B = cat(3,u,v);resamp = makeresampler('linear','fill');I_sinusoid = tformarray(I,[],resamp,[2 1],[1 2],[],tmap_B,.3);imshow(I_sinusoid)title('sinusoid') j=j-1; k = k/j;end |

Comments
Post a Comment