%PTV code using other detection from other source codes clear all close all [filename,PathName] = uigetfile('*.avi','Select the video file'); cd(PathName) v=VideoReader(filename); %Roi settings [Left,Top,pixX,pixY]=roi_piv(v); [data,param]=detect(v,Left,Top,pixX,pixY); %No orientation data(:,5) = []; [param,trajectory]=link_particles(v,Left,Top,pixX,pixY,data,param); trajectory(:,2,:)=trajectory(:,2,:)+Left-1; trajectory(:,3,:)=(Top-1+trajectory(:,3,:)); %% parameters n_rows=param(7); n_columns=param(8); color=hsv(size(trajectory,3)); % trajectories hold on for n=1:size(trajectory,3) frame=trajectory(:,1,n); x=trajectory(:,2,n); y=trajectory(:,3,n); subplot(2,2,2); hold on; plot(x,y,'Color',color(n,:)); axis square; xlabel('x pixel'); ylabel('y pixel'); hold off; subplot(2,2,1); hold on; plot(frame,y,'Color',color(n,:)); axis square; xlabel('frame'); ylabel('y pixel'); hold off; subplot(2,2,3); hold on; plot(frame,x,'Color',color(n,:)); axis square; xlabel('frame'); ylabel('x pixel'); hold off; end for j=1:size(trajectory,3) a=[trajectory(:,1,j),trajectory(:,2,j),trajectory(:,3,j)]; a=transpose(a); fileID = fopen(strcat(erase(filename,".avi"),'_trajectory_',num2str(j),'.txt'),'w'); fprintf(fileID,'%12.8f %12.8f %12.8f \r\n',a); fclose(fileID); end