Guest User

Untitled

a guest
Jul 17th, 2018
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.98 KB | None | 0 0
  1. %% Create Skewed Image - All of These Are Knowns
  2. rows = 1:size(frame, 1);
  3. cols = 1:size(frame, 2);
  4.  
  5. lat_grid = zeros(size(frame));
  6. lon_grid = zeros(size(frame));
  7. for r = 1:numel(rows)
  8. for c = 1:numel(cols)
  9. lat_grid(r,c) = 0 + .001*rows(r) + 1e-3*cols(c) + 1e-6 * rows(r).^2;
  10. lon_grid(r,c) = 0 + .001*cols(c) + 1e-3*rows(r) + 1e-6 * cols(c).^2;
  11. end
  12. end
  13.  
  14. h = figure; surf(lon_grid, lat_grid, frame, 'edgecolor','none'), view([0,90]),
  15. colormap(gray(256))
  16. set(gca, 'ydir', 'reverse')
  17. ylabel('Latitude (deg)')
  18. xlabel('Longitude (deg)')
  19. hold on
  20. filename = 'testAnimated.gif';
  21.  
  22. %% Create image in target grid
  23. target_lat_array = 0:0.1:(max(lat_grid(:))+0.1);
  24. target_lon_array = 0:0.1:(max(lon_grid(:))+0.1);
  25. [target_lon_grid, target_lat_grid] = meshgrid(target_lon_array, target_lat_array);
  26. resampled_frame = zeros(size(target_lon_grid));
  27. n = 0;
  28. for r = 2:size(target_lat_grid, 1)
  29. for c = 2:size(target_lon_grid, 2)
  30. n = n + 1;
  31. mask = ((lon_grid > target_lon_grid(r, c-1)) & (lon_grid < target_lon_grid(r, c))) & ((lat_grid > target_lat_grid(r-1, c)) & (lat_grid < target_lat_grid(r, c)));
  32. ph = patch(...
  33. [target_lon_grid(r, c-1), target_lon_grid(r, c-1), target_lon_grid(r, c), target_lon_grid(r, c)],...
  34. [target_lat_grid(r-1, c), target_lat_grid(r, c), target_lat_grid(r, c), target_lat_grid(r-1, c)],...
  35. [1e4, 1e4, 1e4, 1e4], [1,0,0,0.5]);
  36. if ~any(mask(:))
  37. delete(ph)
  38. continue
  39. end
  40.  
  41. % Write to the GIF File
  42. im = frame2im(getframe(h));
  43. [imind,cm] = rgb2ind(im,256);
  44. if n == 1
  45. imwrite(imind,cm,filename,'gif', 'Loopcount',inf);
  46. else
  47. imwrite(imind,cm,filename,'gif','WriteMode','append');
  48. end
  49.  
  50. delete(ph)
  51. resampled_frame(r-1, c-1) = mean(frame(mask));
  52. end
  53. end
  54.  
  55. figure, imagesc(target_lon_array, target_lat_array, resampled_frame),
  56. colormap(gray(256)), axis image
  57. ylabel('Latitude (deg)')
  58. xlabel('Longitude (deg)')
Add Comment
Please, Sign In to add comment