Advertisement
Guest User

Untitled

a guest
Apr 24th, 2014
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.75 KB | None | 0 0
  1.  
  2. format shortg
  3.  
  4. %im1 = imread('Image_base.jpg');
  5. R = size(im1, 1)
  6. C = size(im1, 2)
  7. X0 = 0;
  8. Y0 = 0;
  9.  
  10. off1 = 0.10; off2 = 0.20; off3 = 0.30; off4 = 0.40;
  11.  
  12. % 1-------2
  13. % | |
  14. % | |
  15. % 4-------3
  16.  
  17. %% Sequence 1: Projective transform
  18.  
  19. % tilting down 4 times
  20. T_P1 = [ X0 - R * off1, Y0; C + C * off1, Y0; C, R; X0, R ]
  21. T_P2 = [ X0 - R * off2, Y0; C + C * off2, Y0; C, R; X0, R ]
  22. T_P3 = [ X0 - R * off3, Y0; C + C * off3, Y0; C, R; X0, R ];
  23. T_P4 = [ X0 - R * off4, Y0; C + C * off4, Y0; C, R; X0, R ];
  24.  
  25. figure(1);
  26. hold on
  27. plot( T_P1(:,1), -T_P1(:,2) ); plot( [T_P1(1,1), T_P1(4,1)], -[T_P1(1,2), T_P1(4,2)] );
  28. plot( T_P2(:,1), -T_P2(:,2) ); plot( [T_P2(1,1), T_P2(4,1)], -[T_P2(1,2), T_P2(4,2)] );
  29. plot( T_P3(:,1), -T_P3(:,2) ); plot( [T_P3(1,1), T_P3(4,1)], -[T_P3(1,2), T_P3(4,2)] );
  30. plot( T_P4(:,1), -T_P4(:,2) ); plot( [T_P4(1,1), T_P2(4,1)], -[T_P4(1,2), T_P4(4,2)] );
  31.  
  32. % tilting up 4 times
  33. T_P5 = [ X0, Y0; C, Y0; C + C * off1, R; X0 - R * off1, R ];
  34. T_P6 = [ X0, Y0; C, Y0; C + C * off2, R; X0 - R * off2, R ];
  35. T_P7 = [ X0, Y0; C, Y0; C + C * off3, R; X0 - R * off3, R ];
  36. T_P8 = [ X0, Y0; C, Y0; C + C * off4, R; X0 - R * off4, R ];
  37.  
  38. figure(2);
  39. hold on
  40. plot( T_P5(:,1), -T_P5(:,2) ); plot( [T_P5(1,1), T_P5(4,1)], -[T_P5(1,2), T_P5(4,2)] );
  41. plot( T_P6(:,1), -T_P6(:,2) ); plot( [T_P6(1,1), T_P6(4,1)], -[T_P6(1,2), T_P6(4,2)] );
  42. plot( T_P7(:,1), -T_P7(:,2) ); plot( [T_P7(1,1), T_P7(4,1)], -[T_P7(1,2), T_P7(4,2)] );
  43. plot( T_P8(:,1), -T_P8(:,2) ); plot( [T_P8(1,1), T_P8(4,1)], -[T_P8(1,2), T_P8(4,2)] );
  44.  
  45. % tilting left 4 times
  46. T_P9 = [ X0, Y0; C, Y0 - C * off1; C, R + R * off1; X0, R ];
  47. T_P10 = [ X0, Y0; C, Y0 - C * off2; C, R + R * off2; X0, R ];
  48. T_P11 = [ X0, Y0; C, Y0 - C * off3; C, R + R * off3; X0, R ];
  49. T_P12 = [ X0, Y0; C, Y0 - C * off4; C, R + R * off4; X0, R ];
  50.  
  51. figure(3);
  52. hold on
  53. plot( T_P9(:,1), -T_P9(:,2) ); plot( [T_P9(1,1), T_P9(4,1)], -[T_P9(1,2), T_P9(4,2)] );
  54. plot( T_P10(:,1), -T_P10(:,2) ); plot( [T_P10(1,1), T_P10(4,1)], -[T_P10(1,2), T_P10(4,2)] );
  55. plot( T_P11(:,1), -T_P11(:,2) ); plot( [T_P11(1,1), T_P11(4,1)], -[T_P11(1,2), T_P11(4,2)] );
  56. plot( T_P12(:,1), -T_P12(:,2) ); plot( [T_P12(1,1), T_P12(4,1)], -[T_P12(1,2), T_P12(4,2)] );
  57.  
  58. % tilting left 4 times
  59. T_P9 = [ X0, Y0; C, Y0 - C * off1; C, R + R * off1; X0, R ];
  60. T_P10 = [ X0, Y0; C, Y0 - C * off2; C, R + R * off2; X0, R ];
  61. T_P11 = [ X0, Y0; C, Y0 - C * off3; C, R + R * off3; X0, R ];
  62. T_P12 = [ X0, Y0; C, Y0 - C * off4; C, R + R * off4; X0, R ];
  63.  
  64. figure(3);
  65. hold on
  66. plot( T_P9(:,1), -T_P9(:,2) ); plot( [T_P9(1,1), T_P9(4,1)], -[T_P9(1,2), T_P9(4,2)] );
  67. plot( T_P10(:,1), -T_P10(:,2) ); plot( [T_P10(1,1), T_P10(4,1)], -[T_P10(1,2), T_P10(4,2)] );
  68. plot( T_P11(:,1), -T_P11(:,2) ); plot( [T_P11(1,1), T_P11(4,1)], -[T_P11(1,2), T_P11(4,2)] );
  69. plot( T_P12(:,1), -T_P12(:,2) ); plot( [T_P12(1,1), T_P12(4,1)], -[T_P12(1,2), T_P12(4,2)] );
  70.  
  71. % tilting right 4 times
  72. T_P13 = [ X0, Y0 - C * off1; C, Y0; C, R; X0, R + R * off1];
  73. T_P14 = [ X0, Y0 - C * off2; C, Y0; C, R; X0, R + R * off2];
  74. T_P15 = [ X0, Y0 - C * off3; C, Y0; C, R; X0, R + R * off3];
  75. T_P16 = [ X0, Y0 - C * off4; C, Y0; C, R; X0, R + R * off4];
  76.  
  77. figure(4);
  78. hold on
  79. plot( T_P13(:,1), -T_P13(:,2) ); plot( [T_P13(1,1), T_P13(4,1)], -[T_P13(1,2), T_P13(4,2)] );
  80. plot( T_P14(:,1), -T_P14(:,2) ); plot( [T_P14(1,1), T_P14(4,1)], -[T_P14(1,2), T_P14(4,2)] );
  81. plot( T_P15(:,1), -T_P15(:,2) ); plot( [T_P15(1,1), T_P15(4,1)], -[T_P15(1,2), T_P15(4,2)] );
  82. plot( T_P16(:,1), -T_P16(:,2) ); plot( [T_P16(1,1), T_P16(4,1)], -[T_P16(1,2), T_P16(4,2)] );
  83.  
  84. % generate final output for projective trnsformation
  85. T_P = [ T_P1(:)'; T_P2(:)'; T_P3(:)'; T_P4(:)'; T_P5(:)'; T_P6(:)'; T_P7(:)'; T_P8(:)'; ...
  86. T_P9(:)'; T_P10(:)'; T_P11(:)'; T_P12(:)'; T_P13(:)'; T_P14(:)'; T_P15(:)'; T_P16(:)' ];
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement