Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- format shortg
- %im1 = imread('Image_base.jpg');
- R = size(im1, 1)
- C = size(im1, 2)
- X0 = 0;
- Y0 = 0;
- off1 = 0.10; off2 = 0.20; off3 = 0.30; off4 = 0.40;
- % 1-------2
- % | |
- % | |
- % 4-------3
- %% Sequence 1: Projective transform
- % tilting down 4 times
- T_P1 = [ X0 - R * off1, Y0; C + C * off1, Y0; C, R; X0, R ]
- T_P2 = [ X0 - R * off2, Y0; C + C * off2, Y0; C, R; X0, R ]
- T_P3 = [ X0 - R * off3, Y0; C + C * off3, Y0; C, R; X0, R ];
- T_P4 = [ X0 - R * off4, Y0; C + C * off4, Y0; C, R; X0, R ];
- figure(1);
- hold on
- plot( T_P1(:,1), -T_P1(:,2) ); plot( [T_P1(1,1), T_P1(4,1)], -[T_P1(1,2), T_P1(4,2)] );
- plot( T_P2(:,1), -T_P2(:,2) ); plot( [T_P2(1,1), T_P2(4,1)], -[T_P2(1,2), T_P2(4,2)] );
- plot( T_P3(:,1), -T_P3(:,2) ); plot( [T_P3(1,1), T_P3(4,1)], -[T_P3(1,2), T_P3(4,2)] );
- plot( T_P4(:,1), -T_P4(:,2) ); plot( [T_P4(1,1), T_P2(4,1)], -[T_P4(1,2), T_P4(4,2)] );
- % tilting up 4 times
- T_P5 = [ X0, Y0; C, Y0; C + C * off1, R; X0 - R * off1, R ];
- T_P6 = [ X0, Y0; C, Y0; C + C * off2, R; X0 - R * off2, R ];
- T_P7 = [ X0, Y0; C, Y0; C + C * off3, R; X0 - R * off3, R ];
- T_P8 = [ X0, Y0; C, Y0; C + C * off4, R; X0 - R * off4, R ];
- figure(2);
- hold on
- plot( T_P5(:,1), -T_P5(:,2) ); plot( [T_P5(1,1), T_P5(4,1)], -[T_P5(1,2), T_P5(4,2)] );
- plot( T_P6(:,1), -T_P6(:,2) ); plot( [T_P6(1,1), T_P6(4,1)], -[T_P6(1,2), T_P6(4,2)] );
- plot( T_P7(:,1), -T_P7(:,2) ); plot( [T_P7(1,1), T_P7(4,1)], -[T_P7(1,2), T_P7(4,2)] );
- plot( T_P8(:,1), -T_P8(:,2) ); plot( [T_P8(1,1), T_P8(4,1)], -[T_P8(1,2), T_P8(4,2)] );
- % tilting left 4 times
- T_P9 = [ X0, Y0; C, Y0 - C * off1; C, R + R * off1; X0, R ];
- T_P10 = [ X0, Y0; C, Y0 - C * off2; C, R + R * off2; X0, R ];
- T_P11 = [ X0, Y0; C, Y0 - C * off3; C, R + R * off3; X0, R ];
- T_P12 = [ X0, Y0; C, Y0 - C * off4; C, R + R * off4; X0, R ];
- figure(3);
- hold on
- plot( T_P9(:,1), -T_P9(:,2) ); plot( [T_P9(1,1), T_P9(4,1)], -[T_P9(1,2), T_P9(4,2)] );
- plot( T_P10(:,1), -T_P10(:,2) ); plot( [T_P10(1,1), T_P10(4,1)], -[T_P10(1,2), T_P10(4,2)] );
- plot( T_P11(:,1), -T_P11(:,2) ); plot( [T_P11(1,1), T_P11(4,1)], -[T_P11(1,2), T_P11(4,2)] );
- plot( T_P12(:,1), -T_P12(:,2) ); plot( [T_P12(1,1), T_P12(4,1)], -[T_P12(1,2), T_P12(4,2)] );
- % tilting left 4 times
- T_P9 = [ X0, Y0; C, Y0 - C * off1; C, R + R * off1; X0, R ];
- T_P10 = [ X0, Y0; C, Y0 - C * off2; C, R + R * off2; X0, R ];
- T_P11 = [ X0, Y0; C, Y0 - C * off3; C, R + R * off3; X0, R ];
- T_P12 = [ X0, Y0; C, Y0 - C * off4; C, R + R * off4; X0, R ];
- figure(3);
- hold on
- plot( T_P9(:,1), -T_P9(:,2) ); plot( [T_P9(1,1), T_P9(4,1)], -[T_P9(1,2), T_P9(4,2)] );
- plot( T_P10(:,1), -T_P10(:,2) ); plot( [T_P10(1,1), T_P10(4,1)], -[T_P10(1,2), T_P10(4,2)] );
- plot( T_P11(:,1), -T_P11(:,2) ); plot( [T_P11(1,1), T_P11(4,1)], -[T_P11(1,2), T_P11(4,2)] );
- plot( T_P12(:,1), -T_P12(:,2) ); plot( [T_P12(1,1), T_P12(4,1)], -[T_P12(1,2), T_P12(4,2)] );
- % tilting right 4 times
- T_P13 = [ X0, Y0 - C * off1; C, Y0; C, R; X0, R + R * off1];
- T_P14 = [ X0, Y0 - C * off2; C, Y0; C, R; X0, R + R * off2];
- T_P15 = [ X0, Y0 - C * off3; C, Y0; C, R; X0, R + R * off3];
- T_P16 = [ X0, Y0 - C * off4; C, Y0; C, R; X0, R + R * off4];
- figure(4);
- hold on
- plot( T_P13(:,1), -T_P13(:,2) ); plot( [T_P13(1,1), T_P13(4,1)], -[T_P13(1,2), T_P13(4,2)] );
- plot( T_P14(:,1), -T_P14(:,2) ); plot( [T_P14(1,1), T_P14(4,1)], -[T_P14(1,2), T_P14(4,2)] );
- plot( T_P15(:,1), -T_P15(:,2) ); plot( [T_P15(1,1), T_P15(4,1)], -[T_P15(1,2), T_P15(4,2)] );
- plot( T_P16(:,1), -T_P16(:,2) ); plot( [T_P16(1,1), T_P16(4,1)], -[T_P16(1,2), T_P16(4,2)] );
- % generate final output for projective trnsformation
- T_P = [ T_P1(:)'; T_P2(:)'; T_P3(:)'; T_P4(:)'; T_P5(:)'; T_P6(:)'; T_P7(:)'; T_P8(:)'; ...
- 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