From 1d7b9750c0fb902df5ddecded80783361a9cecab Mon Sep 17 00:00:00 2001 From: Victor Erukhimov Date: Tue, 19 Apr 2011 17:18:36 +0000 Subject: [PATCH] Tutorials --- doc/opencv_tutorials.pdf | Bin 0 -> 82781 bytes doc/opencv_tutorials.tex | 107 ++++++++++++++++++++++++ doc/tutorials/calib3d.tex | 56 +++++++++++++ doc/tutorials/features2d.tex | 67 +++++++++++++++ doc/tutorials/opencv_tutorials_body.tex | 12 +++ doc/tutorials/prerequisites.tex | 12 +++ 6 files changed, 254 insertions(+) create mode 100644 doc/opencv_tutorials.pdf create mode 100644 doc/opencv_tutorials.tex create mode 100644 doc/tutorials/calib3d.tex create mode 100644 doc/tutorials/features2d.tex create mode 100644 doc/tutorials/opencv_tutorials_body.tex create mode 100644 doc/tutorials/prerequisites.tex diff --git a/doc/opencv_tutorials.pdf b/doc/opencv_tutorials.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0d8be941c2355c645dcf7e4dcfe03213623ff1f1 GIT binary patch literal 82781 zcmeFZbzGEP^FK~XN-7O5h=7R8E-dU4(jg(z9n#$m(v6}Z(t@OvfYO~30)i5ff`n2c z4I=fs;Feny?s%T(^ZoCKul3rv=FFU#IWzAw=bY<`tccikC>Vx)dB^3S_O&yEI_N!=YkmJTg3?2TE z9%O9!7 zx|W7^x*+|-2JLhYmHlVe+5X8Y?BHMY$o|tR*7k-VLwg5P%U@e$|0}y#*gIG`TIvB_ za~%o=bDr!p`=8d4ure@o`BOUfzc7pj`(fYYK_FH!QwNaNNw5B48W1lpHmkIum9c{f z2+GL;`r{89xZeWsTY%0&*TGQ4P~Y0X5E~d1_6~N2x|Y~3!vPOpVxvF_M0R#UuM=DU9@5u>tHRlLpgtZNMCw2i5|@kKMzU8cNDfO9L9%Z^M|}Y zhVqd%0Jl5pw4$qxA&6C0*Vqu7RoL3f!O+UV9t1m7i##@~yrI3dqn*B?J&66#@W3~> z3=K?mg{)mb8i%)V0;3Mj#ioS~G++l%f?$X4C=aLzbR0H*c=Hi25zw(ESXI^3L2xLD zlM4=paDl8GEiAN7QvGn7GpX1>oSZN)J3GfIvLhjnJ0=En2A~IQ2e<|7(97fx4bLiT zXRWVb=m63HdMzRbVpTMB0es>l^B-Px#QcX(aKe7L1n8fAf?f8e3Pjds#twU;$C;f| z1p<3p1bYEf#FS8gz~v!Dkaz4bPB}~ox#0JZp8MxlCfU5r1TwXR%aIgR@TE?h3--g? zkK{SqT!#|>VlLR>;Qw#T^& z2x_*j-IeyYXz6&hLfD>aC&W}1Dx7={JqnFTWpd5-g~G76s>l^Qo8T5H-tMF=BMVR& zTH732>J1i#9Y#zMrf2qVBy5F?L0MNiV2|_!Kff-{PR!Ga(IzqWq=wAZJt?m7OR=}5 z7`5rbO`ZLKl)@B;&1ZD=6H>VJ)}}nOLlV`KZlR_;&0ghCb~cwvML#Q&`7k%Irl7Fj zaS_=Nmy5;FOp;Giv>O|K&zGN*Z|8)T&Q@m_QoB|t;1$Za!9b&gP5!-J4ouEWtgD9K zIdS+v}Gd>w+N5bOG;%zRMQg^f)c7u^DvW&fzx_Wg}$Yx6Yu{8-;8xPT>gk097ll-#BnsPKpcld68PWchk_vx7$6Q8 z7y|SRihzMRAqYSq2pGx^+$9L8<}Xp(&j@_ftK*>fNBH<3C4zCWfjI!+0p&n|VQ?-$ zZ!j<%4n0$(W6<&kmOLTV$-MBtNrixe**Sp_4@ZExxZoftaD_rR0HXp35yp9@RL2nL z7(tyEn-{ksXKNtrmm=g*GL1Az(2jJB(&cn~}Gvzwg)*l$^gj7F3(uu+F-`en4 zTQCTi3&90qgRui%#Rh_L0LYDv<4mcJwRH?@PssHHef}TFb*wEY0+0vrEj9!g&dCmf z0apa#5Mi8l_hW7S0f7w z@EU-s&(zmhF#o5{I8TNN06rdNg@42&fZrTVYmeOWcPcg@g0ceu z0RkxJAGzQ^hLQl2pMv~=k_g2A8z}h>fRX^-J*!I z{5_efKpSMF2q@Xp)5#W?@%)tY4;T1tMsU=VUy>~ViT^8z354pOya3}I@&0F%o{Tg< zZSxb_vx)(kn)8o&-oJwR!0h9v9LG~XAiw|d_s=k2sSAqJ2q8fKSW`FI^7zrhm6+*A za?O&7+y=xLf)@k{%=Qk{70_bb%kDlDw?X&S5|zrg?{`Y7CkniCV;X1hrimX0qc0Wl zG&@zFEPHmZs=1Wecg>KTf`_g;FN8z%jGi~A=%Nl^xgUr#2D?R@o5I??9#1p1=-|~w zT?e&nMG1t+eUHxYjv$AP_)A1z*?(wZzj1ED9ISELyzrCA`b_g4DdSi3{+AOz_{jtc znD>bHKbrUNh=2hLVFR;qogT29C&AWFr}!TREd1m^ICcuI|9rr*)eE8`=`*2EoMDWU zo_w}3jzH$g**E+Mg#KG#`!jsPPsX1^V;qgyf11u6aXXHKzfG4Pci>fbQ z-FK8_i$yQoU@_t2&m-xtNe))%Db-BwKPU0P|I5v5>c#W#F7H<>v?hDV*$wF`^XAnG ziwYYss^uhSSwyGnb6nV6A70>(B)|1mzr8N`O~7+n$KF*aG6Un@3`ME;rNVG_IgHcWCLfA zatV)}mV~gUOx$=u{7Hu402LxC-LS(2Za)}cQ=Oah?v`gByvv&7CAXsZlIMaW*|mD| z&LWll61U8rMF$Q;`nU>qiPv(7;Rq(L*JgBRqr1$i!Y>o(b^@m&$`TRnz{dnI9%T=KDz>e1vGWF-&%U1v$0vPqU|GfsuZy!vYW*ZW zu#lWOe8a_*OtrOG2DL_FebdH;8d*K0oqPYvt%UKIYKiZa>bvN*2Dl}shXmpuIi8a&h-HJb~tr||B)$9y7SR5$8P@%4mxYD1_1$(9zZmI%+=U{ zNe3qz09OGx4Fi%A2LcL)LpT9g%>m|wAI{c(O#fI9XMe1Myu7T399RX9YT2v`tV;3{ zhc6}*2L~H&R@OhtZbsI2#)e=kLkCtHJL{t=F{`zWp_RVVQDN53mGvr+=}wIHlf|3= zv;#0UFaoH=!JwRAD1sB1=mN7T#2@&Z0}lI-JMf2`U}sYc3u|X%T|1z@2-df@WOX(* zH)WNuvUkw6un>1NH8A|O3y9wm!I5YDWA^wh%Kbw0*VRJkNv{Kf<8Ndz1UrEBPZt@F z9Pijo{we9OiU9}~P~)M?{VP<0IEjvq6A-X~@NZ+PRu~W7Au4fyIvM3eXgnZek%?C9 zBa3dFO+YRA)eDs`RY0-#z7ZxRrg)J`?*pjcYkU~QK@{(1#u^pREGk@MRI7V&uvO=( z{ECNUK}##w6Q?3c$6Ia9h0eFI8@iNoG^rwMWIECdtAzt=XS_n=8O?=3;%5x$lQuas z%N_Ofmm!V#k@xEx-swlx+y0*aXE=zPV6Q5}3 z)eR$OquMxYCwkv!!O6KaSmXF<#3&0l72JK3Q|M!5=kYb;)3u|X>FHmqR{kU-=Tjm3oGZhY3hEWAJ4__* zEG&sR_cUQReWSXq2D$l_SB%;t#)hoPl}iNK)ux)4C2gc9TVUo)EZkSp;(RWLZf1%; z8X{aFZIrx`prTuxgHs;YzCVidu6CSmuX1^<6Y-(&>CX0ZGVgEp8YW8UhLOmOd*_*~ zuD@>8=Dt<9eHlOZo?dmkbcti9x?Xb&P2k=6tt7hwXqk)#>(y5IS7RMzFKi=SkzPvP z!c+f<@%ulM~(ZdV*La$Pb4)_p6;v=AER^UtDe96ZX^ zcx2zoumda2KeX*6hSAQ@&t0-)jec`pDRDacC5``HYa@2`#|&Xi65jd*>KIMZw6VGy z=JW=1M0Aas*z_j;7c-f(*1vwmqG)0e2z8}OF=nh3pkjZc`#5D}OeYCuITMhs3jOqz zh&O$m*Go8?PBk}+GDGqXory;Fy*!-j0uzn*0yU+iLvRT#U9^NG1DDaJCqVwwL$`bA z3PM>hSvnd&6K?A6nLI+W+T%?oh+$yqQ2G#B)&X&zp1h*Q!oJpJPu1GfGwR7%l2tP- zbl!~UAsG^>M*Wv~B;2d$av_p_3`lQB28yw%(_QcDQ!?tzxTJ$n(_5z)u(0@aq_Z#W zjj|vqPIZesN`K;6k+vo7x%Z{FY2#An41V3{6KySCO%L9^oy{-n-%-%!Zs)0&UiDc- z;uP_lmr~10svUE^@YDjKDXksT%sZa3qA%CI4=+boG^23DDf4!_jWXKWn)1W~J0X!T zuBE@``V6jpb5+R`scWB}mZj%35zpuw=JvEirWS_?eNra*GKH4z529}BMm*4;sQET2 zePjDg^}gwZXPw_Z?K9#LUWfbqhOx`b)f@}mR&V<- zj;XORj%S0J_qJ(y9@cIxKpOXH+-yp|lJldo#)EBcwZN`14|EK_rpxYC>y6=~7=J?+ zdBC{Pq4&~0Q%O;IB=0r>lM~uCRIPp&ufkqcy^D^N{1mPE?<^udAopG!Fh#4$w05at zztNK~Vf)OBiS`5d9vcT7ob%~52Tz=VXb-Q|Qkf<@MtG80Xo>O%Hx%khOZC$6&-OFo z9rN=@xrX;IzlZLJR)L$(L%)%+b8!HbO!m`ce=j6E7r+gAn(E|4^>o+R0q=nUOY5g(Jeiiy zBI5!B+4B_DNlkO)slln85v9SYXe%L8yP{>JlJWa<2 zz&T)R#qTmgAt#geS!5hw4xog2n(psBk`2TLX9r5Lr=0`}`Fk&6;{^6Pu%E^6@7;tA z#sy3?&f@p?j=}~3>g#|GPWSKcJ%tU}lflM@ID_u*eFe(J1qO6;2HoE~3-quO4?TbV&*1kv`u}aTLfJXN@G}Mw6j;gmyHS2f#|7*)`dy!ZEBqw;Kc6)~e~ENI zrVVf){Qg_$nWsE%od6;5?AG!5jwU}f*uwcjM?U(>Jx<4Y`N|s>3eCO}gD3{|6rbwG z$rCt57dfx2r<5)|?{Ib=_aM`_hNEGPQP9+2^4X1~fvFz(W#g;WtSff|gFBu>N^1wv zc*Yx@)5x9itt%8kjUX|5W422=fxQ9j=}FcK)41pvn-<(on9WWuHL=?7;LPnv3F83* znwI^mn^+4ls$B{Kn>+VlS*qT={4b)11cqXluM2%-E|WC9;`i_Xb1a=X_+qkv>^q}& zt!XzQ;|TG%`}~=%nqO-59&{IGY3Ca{I^k{Ku^@&#n&A%9|5!z{nvzx1Xp9DxgzetT zdN0sx;i&)ODN>BxwEGQ}gmb}I3XA3Uok%G%ayY#ip1tM&BgjJS9$=uVa5LF(eL?aLZ?O!4&sB10C* z7k15o#cdk_ONC?E*W@Yu_(;CXzOL-4qI;M7xxXk)>J7Ru)s}`C_^v;yLb681^Lwk! z8I2N=D)CqG8Jjy>R_;zb5whO-#5*&up^M=tCL!AY|XRh z;bRXZ#CNm8_ruSy9`^gVRz70oGtUVTc_B31_JYCA->AxWF+hsY~JFP3^~{&;90s;@MUCHK0thTDR7R@)2L zR^A*qx7jL>4#k8V;XRUu_x@G-;Pk#{pHq3TEX((c$EaB)I@iK&TnnD-@d-Ze!OO$d z0jG@1!pScc2uRzYA>0F4P(((YTRp4|v$EnZ7;dUeIxDb$-ahCh=Qk*PMqa!VexKCY z0loD`Gk00f-HfpKxhUcCFq&p0!#&jH&kZ7{ArJI;7vYHo&)*hG{uqkCfF9`4-bCQ5 z|8!yth5i=2|KR`6xaWBL;_(95uXKmV2Z)MipbF^m*2cdi1XlLgfvWQF;SHGPo``Qi z8a>4k25dS#EB``I2F9}p*|@;KlKE+l$Ga;3QdB6g-VQ|TQ=%Sku>31R4mcdB<(-j& z*?vp;zxR;?0ReVuoW=3CoPUat69MdkJFAbsCH+%`z}^BV>@1Fd>o~xQ3Jh40Jp<`M z*?vp=zjK6fLBMAe#h}0{^w0cuh8cn7U@#P@u%5QYKR6BysHCz1nmM{sN~fwb%u;WadCCa?D^uhJiLkk0it!uuWDTVa9^VXjZYnH> zk<+5Dk=B4*`pe2zP7p`v~__E_XA$7A|l#z?{OUc#QmM-gFH=haF4yE@`Jo9eXm`^EYZjXBM z_Ud}L-?cLdXOH{pG1mJPsgtS!WpcINmc0JaIho?os`7Lh+yomTB2&sa3$SDBr&t4!R`ZRg$jbpyMxpoWBjJ#SH|4GE2hU1Fm9KJt7zm*tV# z$QZzgl^a9&eG%{5wQ{Lj%+p915^pA0N3}Yo7M0;pOZ$GRmMD?1j7H(D4WZo9Y!v9p zpqXIXeQLY#wEf0Y%yEuNCV2@(2FdYqY7+<4#+vsnEyhK(rlZAEF@~FM0&>^cckbD? zbaw9fyhK&{Hb0gW@iB=ZXqPr{?BXl)uQJ4L9asx@jbX?=+WIrM5wBzXL*HM;S>QAH z{N~L#Lugc?P6t|fSqXLi?8xU(<);HV7N6%-uKVg>JvZ317b&Lar=ON%x=Ch-(FKw& zF79;hS)F?uu*?~V)GOfc6%nIz*~`sgnScu0LpfvhG&$%U=}&~%-R*j& z%fdVL*|++UGdbt{iz^=EkKxBX7^+lze+MrG>ACVy;$Ged97F>-y_ei8Hs{!eA!XX(mt=t`$}uL{tjsi+F|OOl$koh#X^mnwSsVhW^uk#dQz zBfDCG%`;ns63X$iuR+Se36{*1enReVQx>mXhE3kOn>w&6q%ydo;WVvtosYkigX zb>y?$f-kAVABZrC&@5Tc^9e<+ZJ9=VE{VPIq1jwkG-Wu{D2Vyx`ek;hyI42rt+NZ< zZM%{RW7ojD#x9HM64i*QiD7uv<1aadBhFCf z<&bAQ8DrP1?4=SgFzD{oW^1oR-`slSb^8so0@vnn{+Ak(J6(RIpLWa)Rc|wZ*lZ|6 z7?o*1gb>vi4=D3Lzxdsf*k6~Q&RC-98~@zpvYb9;*08%#dx8OX^8JxsxPQ8G?xA0O z)BFw<&BGa+I@}=&PPRUFzo+)gL_-;uOX|Eh$uBv@PCHi<$sRN$xo=1cxFsA&b2_pX zbifLFvV?9sOsPGNPuj1)>(YdMkQ9lc<-z1(zW=<^Lk_&va-s)fb-feQ;V> zdCzW;J3h&`jHve4y`UPZdQeAe^Ob+aE~WJhq{@D>9CBuL?vE7rD^fi=-|^od)#HO6 ze}bwb{{M(nPeH0*$o{%ScM7KbMt4}F<2a*?@{3juVajiG>_FM(tRfxs_?XJs{X4Ap zK*3yq5>CMsK!~3>;tY;#aNsNhu&wPh;qMUcH&NMu@)-O$VL){X*wl5J@OLQwyQqIr zhJhX*VEPR;p1o!0Bx+<81I|=H0d#q^v?vDX5BlR&(Z5>Pg&v*AIM&f|g$A(uzpl_I zNm-9TaBF8&FmDVAq|NHSe$VY-QpCq;A*?d}p2TmVEe|f<4*z}OtJ`kffDfufHYUI^&Nr;3s!&C9h`}t;afw~OA z>^;}Qx*viW7-Qzbr$vQyxu^ZOStp&&XrGjDoO9knYRW^Hqv?u z^AmC+a*EvHU=sgFO-%wieR%JuLLJx>Vub~{$n=oOU;9;Ab2qcN;=Xp1hDsWIlp-d- z+%ac=hlhHWLrCNns?G-~b8AP_N!NVKYL^6}$FC9?sJY=d85EAB^vY%US9L?GWl5J% zb}id|u+kmM`s;DAse0Ey*J38ONGs*2^Yq7dOxz=G4AO83<=Voumkuuup?sgY<$X*9ZYTZ$|jYD6o)J~R$b`S1X>1t(ZU zI?$SUoNgdErND6Jb^DsVc=aVS3a|HWDbHH9^`D15GE&N5Htu;W^A2`DX%Pl2(234e`V2x`Y!PW`h!uPS;sFF&^5#SNCchQLp zci&re7i{G&FzfU#m6*WUmG%MMSoD>N#{N$_UBY+twV$flz z6lG~|-ae*MQ1cQ=OH$;eV(BM~F)@tVLFE=dKN-2zzKZTQYX)GY4T#;aur)F6)h^9e z60jMz8iOy?`1OOF?YkF1-`vRMQf6tF26n=E-uqs?J*b@V*x!BWE(3)2%e+t+U`IOT@y9 zg!n44Ja?ujXG+r8eE6Gh?p9t`tyx}P()RGmciupIy^WonK*?_PQe0Mq|{vN$g z5yHU;V0Y#zLLm12nxTFt1a`Y~0fnK{guh4c-w7eWQVp>Gd3IU*vpZ~)T z-)kKrz{7^1M<_A(G$Dp`?>fy22$Jal_ zI4M5B=kWJKntvhwQMb5&VSUurp?UziW4Zs718DO|HNf@o_e0ejUk~p&e1G^l+1JDO z2w?T@__yOLJMi5h{W0C)`$M$?*Pp69KGOPgd_w`zj>G|OKP+n=zCV0H{`eM95@5AM z(E#fmet*dRFg~C4@9=lv=+B?xvIArPP>jRZk;nkAlRS<@{vS;Gr&@qE{xmDV>;IKY zo@vu#Ar7xF-~hm3XAe7h-0`Cz`a=na_Z)wJc+b&&fMO4?hdy=u+wt{Kp@;N;(gE)e zeegtJK4IIF+3ycPe|X3b%6a@C0l;@5oRH&BfQgUag5VIK(WAeAt|NyzV<<+B^lgOXZn!#snfIAf#DqM117nu!XhR@IxYY0e90rOCO_218USvQjfM(UDOb?#Ssv zRMG02^nG7d(e0O_x^xn#QW1qc+Q;|DCP8i{w#<>`CCmyELoQjWLZM9+2=<3fm%_+! zFChD6?4L`0*(0Eoh0#Nk#faM{mPUX;dWcOi6(-8fJrUx#uZ^<(aaSPtao?gwU6YTb z6($Q2o+$E0vJ0a>MDh#Bd>vIaqik(aQV>AXe!t`R*Dm1)-9Pn<7jjBI0tTg-M;5IV(iN#+N)z^(mkbnOikP_Mi9nEqG)(#1-W<@O z60GYXC{R0ZSm5hqFPyxLs4rN{rhAErSQ)Dk^on2b6>?9#yFbPSlH0_qGZ`Fj^_G^q zxwV6Ny`P^f6>Hf#;W7&T1q`V%lBf$9bfZ3)tmVYBD#*mvxRYhXs~ytQA7}go^}X># zC@}fcQGLImE;k6?AQ0f)rLm@`~O*-y+2QP23 zCSQqV;>RS|U05rK;*itbG;;n{SlE_$_F)?n!&Q32XAh@GMN(n<7-W z{@%^>K4l>|bzYyh2hQ)l*)Q9`yRbdua1bGf^U3?%KJ&^w^p)@XMw2Vz6nDKo2VVNt zP4wL)HJMPL)@xxLn*}eBxDIqMbM+hb>H+aV0n0(|{=tsO{FauM*Ut7n$}YcW7G+QW z4!$qb?2gN%&1_1@W#8}CSzMC^A@79;FE3T?m8sz1U%?9@YL8%Ypbd_NsD5GPAJ7et1B?jYtN!rg{+vI$-M%a9J3=>a16+xX&M zi8z7y;?o&f;f8mcbw=_cnkbmfdMRT_sr11-w#oSZi0Vzug7J6^Uw=6hUMSkl=`R=# z0{X~x6z2&Ek$o}iEWEv@1IAnRLIS*Sd{x(%_LdsNLDd8{^_jLXO@_e=hVqSM$&e2U zCZ;!|^)4^g3yGLyy$!@3&*RkNd3xtbB1g)a;+_Jj$cL5+EuEn~kn!iH(r&%$Dv4!- zNdz(9LobuESnXOYjjE=0^R;f+Rx&(l{d~1uB}3}P2YP2j+AL4j#V^!VVXm`xt=~I% zO0Q2Ff|cs>sC#n8-^(e*XLK~u8g6bB5!RBwH!h^FZE|DZDjG>k4lv0LR@}S4z+Gq= z*hOvH?PBVPAjbwOl~;dUuw>{7J0@2Kg}q)MGz5-F4hFD3mt zJXfBKq#sSK@Y}#HmG7#1xmHo;<~O01PEnRCy-(C{P2bB*_tijQArld0bpiDE{nsx%R6Px$%l-AoN*{%H;Q z^C-p5qmS$T7{yZ0PrX6u^x(7f-DbId@4h_l8g1K-l=a3VlJghlp6vR^GHmOy@)~e{ z!BM~Ea^XV`tgQD5Wi!9}8@|o3(h@~*xTNa*>zL;o)NZuPv8Q#gP=^i4$z~Z}PD=qwa*>BOK2c$4bmeeu(z0#Sjh4nl-U3INyL?(*{`^45Lci_!1pdxm8ae4T7qR zzY*qMucpNgc3#?=`qVf;6;EjZPjvKbd0t#4(U8NU!p3rqofo8r|=bLT$`9qKk(kC10Npj=m`KAm%yCSnGH^ z_&fScz(foq%c`Gx{y5&CT`NX67uB{S1dPwPq7oqah>|i)o!(u?=<%Dz{tyHs+H5)*>$5L;e({#3yGf+zs{#a%tbC(Pv;C@mjIfBaD1#aG%$DDqFoe zI~X$hvTjhc^qlDMICW{9f<=K!a^qV%QA30oN>o)s6oRm|RmI)e$rRW>9kWoc5@U(% zO}+iJz$-pE=o2Wg=)DJNbldWl-s2&_j7c&MZYl|NnXrOTe|P^uWXlAPy=OG@ah!oEA% zMxPY?Z4S++ZX{mmCGL%feEeLP%n`H8mx7V3E0`Glx1Lmb#%xK)zEq9ed+rKAE z;kSYwsZ*a?N#Oi>Lz--jqt?y$UQP-jE~~Uf?*XN5G*r=Gb9=b2^$GudD}rD&X=%tfNBub2xeujpI=9T>Oi zj_ST_BrwN~reD=iH@~+iBiiN~NQi;TycXx2j+0T5v4!8zyR!lXC;MZMNv>!O4_wX& z+F0V3$56(3Ge5>rwRK@rsgthNj^M7>+c;5e%gzjjE3Zb0k=~ZH3_aEpZ7%##g{MvUvfa~;sr1creJP|1D`=NmhTCF08Y?D(RA=TFRAHi%%&|s3ZNtl7jhs zPNXI`ldj12OjK|jhelf4JGF2u#L^J%kVLs*znu6ZEx3{`0s`|%>`xEW6V%~P8`ZH ze{@Z5R3oicgKL1I|FZE8#^nT=g6A@`4DEw_NQ0EmOw4WJ#pw=Xi&Hyo?UP2+wT;C( z$(FCy?3)qerBkb^ILgeTv1hG+exkQOk51l=#cuL6Qm6&%9O7Xd| zhVSpm-fGVs$bOC)z*sOVcsWhQum8y#rn`l-gd^b%pvZXx_79PSw$}F4Izshrn?m!? zmPAnZ@1_(L?wJM0X`)X=&WZ%RE-&?3C^WpKu{Y-~S4I4=S^*cE(m*oT*k~VSfBPFw zuNLjDq}#BWl4}?y?atoAZy)I%LA;;8M5B>k8s@OvqKbY=CGluPD7B=Et<$vQsRyfv zdnbutfzvxOuave6;QfuT_G-O8VTUq=M?p;fe1cO(aa$k;UQGP47bX)(bQ)bjV*AZtiWEg z%;k`$qR^!iD?LD9$ zo<`XrQi{*Bk5tCEWry4nP5Y)Nkh)(rnlqTMrbC|GwY@~NPAyrqqhI6XbkDM@2Sm}+ zLBC~o3H?c8Jjog+mBb4Tk5MaG?WEgJf@2nSG%AVTgwfiA@n>h%Hom+H!laWj4!;;M ze7n_-!s`LDPArKdzQv^S*HQzXpl_d0pKDKWD828pUcaP$3jOrfkn=qOD=1?$qq3Qheo*@49 zl-wz0_xR*|@+q-Kes|YrvX4`7`OS;{I~_iqTXU(<++ux&Ypd*c79Ws{i~>lbH1jm zF=w2ahw}sp+~M+U=sSac!Y#uxGwQ@m4#w=k}JB?p`MCrEj^q1BlXRXMF-`cLdj^z8OKZHXG2xkgb44B2K(YH~K(m=hkGll%n}sa$tNf z*-~g@Ml!)2JxZa4YoB*qSL6BR6()T;47!)cFUT!r_-QkC?Jy%M(wBfcUDU9}n z8t*e{4DsGvI`Keyn?*vfIeNsi&n#I%Wf;BW^jS4-(evMLn6W#O!^s}V5yy@>tcX4W&U8HIC?$O4K-)3TATbiHdaw4IQD;*j9T zT6O=~P0_Y{6zBt+l@ti}smZIa6I1sR%`tO)Uvtp%(r;d##m<7$Fi^%nK{!s@;i|93 zWoS~%2pQvjf}-=g^$M3Rm)w;13!+6~@B8jnlPR|pv~IFWI6r+6K8m=LsI@!X>;Htr z#%_8Bt2x~K>iPY9IelqxdP9>-ykj{$BP|j3pNF3-z2*WoIkgU;%Uq+%f9?f(5)<;W zM8=}|JMqDSDTA_@_cFgJcbN*kV$$e)oBNhBJa^xKZ#ieNFgDk??~5;SUvqvYkS4PG zRqiQqwAGe60S9TSw2|RQz4~C+GMnt0gW8s>s@E+&gX7a}#0U!qWiLzxJP(Dr&&yEq z4=Qf6WIyqwT5EnOd+;Q)Y~xG0()$ZCuRbj9WD7l5Zly~MOuIq;^n+HU(aWIq6zYls znyA?s>-+DzB2kqM)@sg23nm`O!A!3qJ!ov$~rwHz|n9@+2N8;SF+NtfZmPce1 zI52vbSNoOI{1mz!hL=J8oP=U;E=B?U+rjpaS}jKYY()dF5U!Gv6ij_m`0$<~6Z~g& z{hD0j&kVvlR0u=e7iHfx!5#0D%P00#gBztH82m%h-wiDngnD296099rRZwbK9{*Uf zxh$Xgn!{#{F0Q_y9tzILu&gO{=%n z@T=g34U}{zSJjV^9#`U5MHF5qjafN7K{_YiVe2B8XVTrDf%Ytz?ZPO{V`%6@u}}0O z!7g>@^9-=|`#w5vY=?Hui&L{lCR29P7j%lx(Chc5kMQmk*$1lieY_6~sYo0RwQNb2Sz+EMPn4~Q#)Ul{&LR`icVK@` zOEeORs>q`CbuQNh>4C(Yj<&HI9Ui2sy>-3L3u;p=8)T@x53n#tJmou;DpLB;HOv>U zXYpt|T%WSN^2M7ydB2=BB*$5Cz1iV8#j~>Li+xtR5TURyj5<0A&K1zas>o!MC(hHk zx0<|4(@aIXWL|%9zGnKWNl{QKn*R>Su&ENVmcH!1y7tDuu$w)XV#$qMn?XJtW)y2v zU^2J(#$7zZ;AUa4&pN^*mtw?vx_wAOb1nsx5!|YChvJdLTwQ3VPRio|Y6jy^oKI0% zrV9gcw4)-b!X@&d+aHkyAMKYyNt!6to2VxWtG(DB&O7TAWo+Xi(Z$+j5p#pMUK#f5A_)2ZgI3J~i4ZG%Ez> z(ml(Vs!v@+bGOkHu8HHOM+-&mo>RM|@vhT-XBwGy3E)a_~~ z#(9KIi`}3Tt#~!5HT;#mYRgxbTm}y_{v{)A3-`;&BG+QCis+c3bu;O>D&IpsG&%XeaHsTSLHCEtO)4hUCXdRT(J|D}tl$X)gkCcRx!R!^N_(xQwpR28dl#aiJ`8P>L`ow$`6F+$kB ziphA8y%IfCFmJWyjKb?-k-3^j!2f7HC}HRui%y)CSi5h9eqW@0<{&MXEQb~ktH_5} zx8Hmh&z+qbBGRY9)2?AyiuJ8x4v^@3(G>7(l1$L-O1Bg@y7wNbz=PFqEb}NFA)+!W z_7<@$8G~~^+I5Q;%_El`4iZdhqMo#32aX}lRD?To1*}QnYxksYV=FZ{&b{_?o|kST zx2q%G-612pS=2S?_%Pppj0QOBN>Duj4bP?0xR6anGhtV9LoQB}-q@ahWLbussN84;a4L!})niCuU z?#&?ud6#8@GBs6XP5AY7Pu<2rnSki&2}@^x2{Br!5SHh`=lmK5U|shWCvJ6~|02XC z#@XzDzPh}IsJa%i8+_x1iC)JwN}I=h@9vcD;pNwmARdg-UP!>O#KQw+xL{q5gOpd`+9X>Z%3ite2<>#d7TV z)_f;l&bsF=wS4b+^bkkYiu+LkNw<6)bLTSa1M&u!z=w=)--RKYUR#YIA|bt!hsQG)f8@C#c%Rpa8PC8lp-Z?0%Be(;EELViCYI&Ra5oA7+q z!SZ?{F+jX6lO9G*=*k5$}epS(g$~cS&5yr@fQ8+;UT^V7*b(xPER&ur*+iLprGG70cDo zFOSo2RbvPl>nIOW9o)(^Pkbj&`tifGj8^98yZR5=E|J%(b@Vpkx4%=}VfuP=QC|3= z@><}lhCKc2kujsX&`ja6xTlS^j7h!H4WNXW?#_=gT<@RfS4S2-?B~hMNYHslc_H6! zeD+>?q^30MzrnlyrQ6 z1d4mBnfkRdGM=s-zHJxPD3Y`jy!5^L0OUe7tn{chXXMg;Y&Y_8ivVwP#~% zpi@%2wofG?4S0SJOVYjO#d*0wYLq5%_CkN^I#%mjwH$?|`lgcVi%cqrMN%b?3r?bU z^lb`!!&N362-fH7*}}`p6X4IMEL^{2R@sOu9v~aIFw#z~Vi>w@ zy5-`a>woPrM8DA_kwu;RYt0JIW3Oey^voq{-I}ddxfsQKfev=panJ(){XT!!Cj(n6 zYBO;Jh4;1F2qlR-EsZXSU9*!mm~BzU+s+NNzpqz2u^nZnP}((aoz?w@LXQ3-rRY*& zjAK+j6u)z(R~A{ys`LTYLeE0za=0b&SGfUQ{G9bwjd6i)soWe4(kP@j)LF&*-^x+C zk!#U;UDw5iv%9*#ghvKh%TLV(m)d~dNL)e)7^!VED1$U+#;%mk=*A?)MLR#=sZ$NT zvBQZIR^m%G`RuW8A$(iSZ)MtE)nzCtb^Q*PNyW!ot!!1sd#e2_!(8Xl=>0{b?WI1m zyh1SFoBTE*@_jj%CGG*z_mbDWE|eCXu^*fDJf($qNDwB?-;<<-(_fjhVLso-5~q>e zwB(o)l{FAp-#DM?Tocwae-VD3!sPSNM6~6zgrH^$UMoVBut%Hz@}E}H_NV(EPV5&ctKX4_}_it>( z<1ge>)5K!+EwU>u$_U(hk*-I*yKGc*fINqkgn7m`+M_4`9d7{nW4qDeHV_d*dwn}o z8{ql(zzQDlSq6AyI*3(WRYg?k)-~ZaAV+E+JD?3bo9{d>%bP#>ukV| z8{pB1z*0TO;nQ9P?ez~Ioz2Mw+$pSUbJNh&*aY~9V8>=XWOMl2b?D)b62L=qO!Wn= zj4cd-Z-6fp91Ja$ffY(@R@EO=Fm@==h>5P<;S;WzSlzDv!5nyuxgqde^TQR(lMm;H z{_>#2pKF+qU)C_;K$Cy`_S+ifk7r^7EdJps>0u5SFwMnbPQp|X5yoK#x5RfE4ryC7 zj*wV`PKel&pi78Jh{$=tMogh#u$u%ys`EQye}Wp1$kinKv9$wpkMa1D%`Y?g-Hzh} zB^86`Z}~q?lzRZd#10`u!SORdR=S}N!9??y zg_f17D~sFp>|FE5$#vPA0wa{j-pxoa(pgj`NzhP41VM3isB$K10_W#ZozJcNBU@e| z`YhU>5xTl8-lX*bQqJjBhf*zb7fDr2OmbO;JNXNqa8qLPO#%E+Tfd4aZf-$BZ>)AK zyryplX=nx2l;@^suhC5|EL_8N+#(W7(Yp8z4Os`#avl=s+VGYSV*HWuj=-gPyqz%V z*vB{!M?d$y(u8D9NUbakx1OB9hLNlXCuSndAut75)4pCriWIW!P3wiRu#ZQ8w%>UU z3CHh1>Fe#yZXuiL0)wnb;`R@yq3c1HwU9{>DCfuo90H)8WP(Vc4*TSoqAn>m+p?FK zsE{3Bq3>35UGQe2M3$wh=U=XV^413be#{F}sukkYwr;latGSmGmE^vDh0wR$Tc6qM z`)CqNZ1rWIt`6=_8nP;SZl9~XKB5cEFNkn=500gsNE(A&FX5*}5YN?F=0k8n$S6MP z2CtA}8IjiP?TEM4#`?xlH#@NQO5@0Xx51lz6blv6s5x=7$4jL(P8VF)UH&O;!qb}rv-Ji9>HGH1K*IG0+FeZajR)fs zb(`1hM&$8RpIu$1T&cUu%*@0OlD$cVh8ZI1jkJ9Gk;H_y?}6H99n^1>yR5mi7xriD z4&>x;=6q2MJoW3(FIiLZd6_iqh_l_T=jWMCv(XGhu0D8Hd;TWMw78|M%8i2^Ap&c($(V$#n1cgb;SUp-2mHtgW_Nv?!neW`uY7iwWN`+quP!t^nHc+e zu-M-yV7n?SR!O(dAy!U`_7%gP(_jC|sHgqx()Ew+mp|T&rESOAU(-j$oFLiM;d}D& z$=69fChc;qJ-Y@Qx9`SMj_Jhh+nLKESLl(MD9&#%Hs{eeKSDxjKm>3%?Rv^l5)g`| zLdq{7VX%_f2&PDQSt%0X2G{e}*xI+od8xh1K#o8nquA(JeyA-oW&)G(uN(BPY8#)? z2@Pu4y(5!OoW{gh(Z+Kz;(Sm+RNUQw=pF0xw%0XyKM`X;5rDg0(y3aFEnrz2qjJ;P zw!OWuF(>Lcb|XWgw5Wb#xc%BY$E#u+jDne)5-olm8|hQ14vCl62BO9tUW7w%;+XT$ z5?#;51&v?HYWB)}6E!t=-Q&$N*G7tURp596-WSECy?2IbQEU>_g$iF7Q(THLI44+x zD(t9>#K;iA5FwUVyNV;87nM4;>+BE8thYD9MvUVGWkCha0>BJVBS7aO3_kBotx|v3usb{Pm z?u3*fr7aX1=4;M5r3ExJ|^ZTSDi> z`C%G8WMxU~3Hqcug=L3+#*LSpTf0kCucxuR*jb^uw;#8$>*)*!6VGepVlOF&1e?VS zIcsYSvVxUgrtSH%@ehMn!sO;$zYQrevuzbHOuaCEqkYblqTMz|n~LQ@aRg#)6sEMI z>s%m{`~p(rSUotfJK3i~kekuctN=+FNLdr*<2Gq@(#%T^TXBpf`k>?9ubX-?>|9W_ ziwb)|H}7=2W*l9)>G+_6<^JAoAa-QP+{9V}@|ugK{?qRyL;Sd4yK{7s7TTd@14wp6 z_&t~e5~E-A@9EA}*_XLodX-f5>V0SYHnWNhTZ}QTbK_^uN_W=W(dr(ibE$H(<8RSc z@42uUJK~_3fW;IFmsrpYu2L6W=^JIazzTx-~C5zx)`|B-f1O`DS;Y$dG7inGSC$O$y1NBLQNcyc`@(({uAco@sr`V#BWNE9BvFpMV`lK}BCuo0aK<(E!IFWnqLE3y9; z>fg}E!~I0movrkEa4h$v6l2H4ix!pv^PD?-bOvPSCKYZ$cTOD=(o*8XdvbR@d_b3H z?qNt&snc1fDrwT%+YxR4ZE&5=A>aNg+mEZ7wi7buT&h_IHhw2+5w1^7u}?Yb{yNX3 zZ@>~W4BVK_99BTI`MK^dMUG(%JDm7#NyZ=J5~6Mzq5GC_x{>(ZBc9oR&7v->QKGLz z6jV@uDRwODIk{gqg<$>)p2$j&G(&T6Adu@3gI#5G}@y^{COCddp1fO*yTAPBWJlm1q(BXC?c&zEQld0#C zJw?by!W#^Y1)PA*=Qa9h5vR`SHuO1(}&1GK0`z}+` zBe)oCA-x{2x%?`3iic>%Z2)FPbDyhrkSzZiy(i@&Zy%;aL$MobcW1VnLm64td9bMq zU3q=HGL_dvZn1_XZ{|~6a`^na-+XQ6=O2eA z!gxkVBIV-M9vQR}s*`GL35<<8;bq*mJe}AzwCTB$=X_D(tHpuYX7m?C%M+4x?%5vG zzLX?LwcG6E=45X3U)Hlm$(q5TH;ABj$a^Cmiupb%?stvA`&+`(WY*I%PwIF^{ zPMcXZWmzkIR!CUYNElc0RXPB(GNU?+%{4AKjtb^$PHM!n(Pk?F9)dvP1V3ibGXjkQ z$Ba8hqQuIat@u>Cp>?h2sLTtu0x4*LsIe3m$HRc1!*wQWN$jS#sMUo4LnTYmX4UP_ zuu&rd6^7rcqj19={_Z+%H_D@FcY4d2P<|;JYu>#5r`1SC-}kbxcHbyioE#w{CGbmG zTA{LLKC+AZmKI6BKrn~fau(hFLzDO`a+W;3E0x#FaS8*9HjFmEArEm+e{U7K$CG zT_hqrc5r+^TX?*_C|D7s>twAnl3^RO84Lk$P$2Z_53_4szRSY%E^TO&<561YVZ~&U zGYBURkD%>TsI2~%grHRP@cHWW%*p6e)~8`;ZK6_27I@aNoKPrMF-f%81`(^K?N|qI zm&ucrE<`Y+A2l!svy4l(2j=o|?k|D>w0(_@1eWu+a$=v5ZW9=;1kQ*4lgD)gr7du& z-wrll@)Y$uX1X%>bxNjz&Fv8=WMq^h<#r@EguE#FpsB5uajb^-x2vr~TkV$mn>yTr|cS)o#d&uVY=2Aq$m_ zeh!L+SJcW=$^v3H8PrURGr@uv+<;u43quc`bPi9U$B$Wjab);|1Y_L8$42nZZby3h zQZs+G_Pl;7o{fO+78(;3pEH}7>A=ij(tBT1@`u+GFIiPXPE zL9n)U1U zxC?!DP3K48@*A=d-1qllz4er25EmcEM$YW1kb>~IVAzU3aeGZl;jXwgPtQ4oj&|Ah z8NCa2ONo-@M5y($SUdEiX~)>FTQ)B9cA6f7K-iLEnRIEwxX@c8Sh;`rH{kl&6n%T@ zJ%98(#mEZWg9IJ{WQCIff2@g$eITpD-Jw-?7KANK8l4GpmAG6N&0{qA7%we24$-J` z_9@IRH5XfMxl_*O_S=~eig+Fv{99~jaWEKcD-g|xEoMUfofZ-(y;J_;h%Ij|wQO%g zkFKj6t-^OmgKal(YaURT^{CVOSc~qNLnqG;q}*&dZBIDfC*kdtX5}xLxgJN_>cpCB zaJjn1wVr~%Ene87;B>uiY>F7qu~UMOzQ-mYG*(tL41+9iAwX#c?f7)o4|f0-h$c*P zc?h+8VDLJhAY(SI(_P}t?5!lfy1AxTgaGn;vy`zC7b*Rw5&|EK%dR%*|^!Qy*8p>d3ieuiS8M^)| z@VcQGR>{t$a#eq#2HSUBk5IZ$k5I}DbvpO5y>J++s5hV>deBYM&Q^P67OY2f3w+o0 z1QkS3G~Edu$@naJjSA6v-c=12+Fn|0p-$;%-taD zLr|UEN*s!97&u)xf8t?{o!_Y#Jdg%13P&~Y=Eu=;FtXf)6Xt(YXJ>maB~eK`D2uUb zn+9lg0bO4DPYd8ApRHSqt9@>!n71?(VJZZRT86ob;EKQ6BJ;uF99Z`JvR;-|=!p{R z+(bYS%_?_p@T`+e8DBqeN$8q?MeGWdJq9rEOg^v9%V4)LVfOf7oynJWF9(zJ4je*R&zC!T(WVK`=9!VFGRqt{d>6O%HpC z4@a>qy^!vS^@`g2=2aRNpV9#P7d1z7?l8O#kr!OBp+5Yy*ZEvn#u)Q1R+1I}R!}Dj3hE^yOcR`?_YF z0t+XT#>oL`AGK;U(}_X3TnkPiZ~XjZqn_}=L(Cg@F_?YaB$etueUrcSda9izr0q9w zEXTOS`$wf5%#e!}QmP)>&fH;iFiaYo=((VHw`(hE>Md#`T8W^ra1T2cSBGoXn@~*i z-1)Z_U*o2K&aAVxG@OKgWy}@=T%u)fnj`Es&ohg%kW}lC6}c;HBK8r@AL2=&O{t$V z@pM|fR3#|%#|Xtkdn%xj3d9v*og=z`LHrx~YL^bT#qk9Wm3zB5j_FzbnjpKFj`2~0 z+KvVlF62fFgU2|avgu59Yq+Pku^6qqdlBBwIO09l7ppbDapzdL8t&{{odY|8Vbzy+ z8Buv)V{22yJU?X}3tSaUUGO{;JAk>|TOh=m-a_kgr`KYPaF}pdZMB$?sQYaPj_#`a zj9FYAGN21KO5G%{^+ES_)$mWGPji5ToFHqvR!=sAnT-s2eQn{w#$qPsx~vD2^;*uE zcA`clc;V~JM(Ka~Np^Cnq;{S1Ppa2wLKG&S-G@P4F|UsVIr9nX$AD1Z4$?{%oDA9~ zN5dLBSw;pfF+5Fqx%IVg29&tHNh7N*p1YC2e-&9l%aJ=yRsWq}DeopZwfUAecxsmH z)9Ba6+aK3i0Dc_=0TMmvrCoXP_PFY2I_Z4XI@m!lj{FEo6RZV_=?#NiQXY z+g3IeyB^Woyq2p7n(E3Fq>=BoT6X_DB%p3MO18^Q3BT`Tp^$8SDyv;iDQwCd?yZcF zQBplU(@|S^el|edC(cx{rgFs$YBvba#5ow0oGo)>5XFgEVU zz^Vh>oevgSPz2d^|Mh4VJtwAf;boDh{{x#GtW^zLKHEFpb$LHPx$^E+cH7j*@g2#R z?(#Hs_I)bgEt*R1UmjAjK4ygsCjK=f$&?V{*RQ==TjM=f92&lp9GBJ4{LX4IY51Ft zc~$8zIr;^Y+M)eQH-thXY^{kj48^kenPVDtU9{N@?RGIBhmtNk&FU&xgNsZ|1}8>g zb?1C?TVhU#)JV6Cl0q(N?**aMX-iE<7{Rf4dG=v{)ci$wbyO3TavW=v+Ep;c9}pZF zYf1*VghWTZ%%)SKbBp@(k>2f|7ageUIU#hR@mPdniNWxQxxbQ4;edK0i!@=mp$ZbA zYOu4sf}|*|u)QIDY7kIEdKX1LF3J`B0j9y%607hT&6lH4Z zaVP=l`gTOKg`M(*X@E>SlJlw+V3(Qkq*;oXQ>s1~Rb6s-Fe64b$L*%H> z-uc8#_a3ibhpkUNDi=8OGdKN1yqI-i85d}nxr}8B<}yeDOw9&9cC;Xt5!izXWWjp< zI>yo+N*`BljRyHTW%@^8RZM7Z%JbeYxUFjfbtifF_@8x(fvqJU4`Gu{8VOC z2{z&x0l^D~56wLSu*o{VJ$K5uvi5vDrUbG{;VMbp=#+Xij1-6)U_<_GkH{3 z-2N&c$RdpLx*c%LBBE`0x-_Vh&+WZVfKdnhlgyFmHO34| tpRD4OBtA$FO`_-gs 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 array of 3d coordinates of a chessboard in any coordinate system. For simplicity, let us choose a system such that one of the chessboard corners is in the origin and the board is in the plane \(z = 0\). + +Read camera parameters from xml/yaml file: +\begin{lstlisting} +FileStorage fs(filename, FileStorage::READ); +Mat intrinsics, distortion; +fs["camera_matrix"] >> intrinsics; +fs["distortion_coefficients"] >> distortion; +\end{lstlisting} + +Now we are ready to find chessboard pose by running solvePnP: +\begin{lstlisting} +vector boardPoints; +// fill the array +... + +solvePnP(Mat(boardPoints), Mat(foundBoardCorners), cameraMatrix, + distCoeffs, rvec, tvec, false); +\end{lstlisting} + +Calculate reprojection error like it is done in \texttt{calibration} sample (see textttt{opencv/samples/cpp/calibration.cpp}, function \texttt{computeReprojectionErrors}). + +How to calculate the distance from the camera origin to any of the corners? +\fi \ No newline at end of file diff --git a/doc/tutorials/features2d.tex b/doc/tutorials/features2d.tex new file mode 100644 index 0000000000..6d0a4c5441 --- /dev/null +++ b/doc/tutorials/features2d.tex @@ -0,0 +1,67 @@ + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% C++ % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\ifCpp +\section{Detection of planar objects} +The goal of this tutorial is to learn how to use features2d and calib3d modules for detecting known planar objects in scenes. + +\texttt{Test data}: use images in your data folder, for instance, box.png and box\_in\_scene.png. + +Create a new console project. Read two input images. Example: +\begin{lstlisting} +Mat img1 = imread(argv[1], CV_LOAD_IMAGE_GRAYSCALE); +\end{lstlisting} + +Detect keypoints in both images. Example: +\begin{lstlisting} +// detecting keypoints +FastFeatureDetector detector(15); +vector keypoints1; +detector.detect(img1, keypoints1); +\end{lstlisting} + +Compute descriptors for each of the keypoints. Example: +\begin{lstlisting} +// computing descriptors +SurfDescriptorExtractor extractor; +Mat descriptors1; +extractor.compute(img1, keypoints1, descriptors1); +\end{lstlisting} + +Now, find the closest matches between descriptors from the first image to the second: +\begin{lstlisting} +// matching descriptors +BruteForceMatcher > matcher; +vector matches; +matcher.match(descriptors1, descriptors2, matches); +\end{lstlisting} + +Visualize the results: +\begin{lstlisting} +// drawing the results +namedWindow("matches", 1); +Mat img_matches; +drawMatches(img1, keypoints1, img2, keypoints2, matches, img_matches); +imshow("matches", img_matches); +waitKey(0); +\end{lstlisting} + +Find the homography transformation between two sets of points: +\begin{lstlisting} +vector points1, points2; +// fill the arrays with the points +.... +Mat H = findHomography(Mat(points1), Mat(points2), CV_RANSAC, ransacReprojThreshold); +\end{lstlisting} + +Create a set of inlier matches and draw them. Use perspectiveTransform function to map points with homography: +\begin{lstlisting} +Mat points1Projected; +perspectiveTransform(Mat(points1), points1Projected, H); +\end{lstlisting} +Use drawMatches for drawing inliers. +\fi \ No newline at end of file diff --git a/doc/tutorials/opencv_tutorials_body.tex b/doc/tutorials/opencv_tutorials_body.tex new file mode 100644 index 0000000000..e8b45df015 --- /dev/null +++ b/doc/tutorials/opencv_tutorials_body.tex @@ -0,0 +1,12 @@ +\chapter{Prerequisites} +\renewcommand{\curModule}{Prerequisites} +\input{tutorials/prerequisites} + + +\chapter{Features2d} +\renewcommand{\curModule}{Features2d} +\input{tutorials/features2d} + +\chapter{Calib3d} +\renewcommand{\curModule}{Calib3d} +\input{tutorials/calib3d} diff --git a/doc/tutorials/prerequisites.tex b/doc/tutorials/prerequisites.tex new file mode 100644 index 0000000000..3ed1cb4c0f --- /dev/null +++ b/doc/tutorials/prerequisites.tex @@ -0,0 +1,12 @@ + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% % +% C++ % +% % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\ifCpp +\section{Prerequisites} +Download the latest release of opencv from \url{http://sourceforge.net/projects/opencvlibrary/}. You will need cmake and your favorite compiler environment in order to build opencv from sources. Please refer to the installation guide \url{http://opencv.willowgarage.com/wiki/InstallGuide} for detailed instructions. + +\fi \ No newline at end of file