Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- PIERWSZE:
- clear all;
- close all;
- r=pi/6; % kąt obrotu
- rot_mtx=[cos(r), -sin(r); sin(r), cos(r)]; % macierz obrotu
- T=[50;-20]; % wektor przesunięcia
- in = imread( 'checkerBoard_20_200.png' );
- in = double( rgb2gray( in ) );
- N = size( in, 1 );
- [X,Y]=meshgrid( 1:N ); % indeksy pikseli 2D
- XY=[ reshape(X,1,N*N); reshape(Y,1,N*N) ];
- XYr=rot_mtx*(XY+repmat(T,1,N*N)); % przekształcenie obrazka
- Xi=reshape(XYr(1,:),N,N);
- Yi=reshape(XYr(2,:),N,N);
- in1=interp2(X,Y,in,Xi,Yi,'nearest');
- in2=interp2(X,Y,in,Xi,Yi,'linear');
- imwrite(in1,'img1.png','png');
- imwrite(in2,'img2.png','png');
- ........................................................................................
- TRZECIE:
- x=X(:,1);
- y=X(:,2);
- z=X(:,3);
- [xq,yq]=meshgrid(-5:0.1:15,-10:0.1:10);
- V=griddata(x,y,z,xq,yq);
- hold on
- surf(V);
- hold off
- -------------------------
- x = X(:,1);
- y = X(:,2);
- z = X(:,3);
- F = TriScatteredInterp(x,y,z, 'linear');
- [qx,qy] = meshgrid(-5:0.2:15, -10:0.2:10);
- qz1 = F(qx,qy);
- for i=1:length(qz1)
- for j=1:length(qz1)
- if qz1(i,j) > 55
- qz1(i,j) = NaN;
- end
- end
- end
- qz2=griddata(x,y,z,qx,qy,'cubic');
- for i=1:length(qz2)
- for j=1:length(qz2)
- if qz2(i,j) > 55
- qz2(i,j) = NaN;
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement