From 69436fc1488d3c0ca2662249ee9f043ba750ad5f Mon Sep 17 00:00:00 2001 From: ray <2954701669@qq.com> Date: Tue, 9 Jan 2024 11:22:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=8C=E7=9B=AE=E6=A0=87=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Code/RK3588/stereo_yolo/catpure_photo.py | 23 ++++++++ Docs/image/Untitled 1.png | Bin 0 -> 20463 bytes Docs/image/Untitled.png | Bin 0 -> 21827 bytes Docs/双目标定流程.md | 68 +++++++++++++++++++++++ 4 files changed, 91 insertions(+) create mode 100644 Code/RK3588/stereo_yolo/catpure_photo.py create mode 100644 Docs/image/Untitled 1.png create mode 100644 Docs/image/Untitled.png create mode 100644 Docs/双目标定流程.md diff --git a/Code/RK3588/stereo_yolo/catpure_photo.py b/Code/RK3588/stereo_yolo/catpure_photo.py new file mode 100644 index 0000000..54b44f4 --- /dev/null +++ b/Code/RK3588/stereo_yolo/catpure_photo.py @@ -0,0 +1,23 @@ +import numpy as np +import cv2 + +cap = cv2.VideoCapture(0) + +i = 0 +cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1280) +# # cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 680) +while(cap.isOpened()): + ret, frame = cap.read() + # height, width, channels = frame.shape + # print(f"Image size: {width} x {height}") + if ret==True: + left = frame[:,0:640] + right = frame[:,640:1280] + #cv2.nameswindow(0) + cv2.imshow('frame', frame) + if cv2.waitKey(10) == ord('q'): + cv2.imwrite("D:\code\python\l\l_" + str(i) + ".jpg",left) + cv2.imwrite("D:\code\python\s\s_" + str(i) + ".jpg",right) + i = i +1 + else: + break diff --git a/Docs/image/Untitled 1.png b/Docs/image/Untitled 1.png new file mode 100644 index 0000000000000000000000000000000000000000..8099a8c5f90e15604b6f479a16d3e8e522854e4e GIT binary patch literal 20463 zcmc$`byQSu+cpdcQqlrSH%LoMBPCKI0#ZYFOSg1~APgPS(%m2(LxXh4(9O`zH^Wc8 z@8?p%_<6GZadnpPtv-h>HeI9WhCn4_?q%qKl(BRVWX~~r&vymi8FR2I;uuv1{XPuFQc&n< zeBq;-)yz}f@$#X`@4_xB>)tsnPOZkUd>M&{G9k*o3Q7|FTw08X1HV-p3Rg}eMa#p5 zxu{*bSKZul?$vVTVJvKKyna)+QF5@5+IZbEwtxAuRrr|S#CXwUJtYxGBVZ}nrbPxF z9lgGF={A|P(|gW&_eHgS&8xT6)YRJdM4UXKGjtJ=JZ3zhUsmkAsCY?y;ZQ#R(7@yK zysDb`vgS1K-o8qVlQUxb3L9VhRXe5amKXUGF*?<@&Mzu&{7O`s!g&l{;A#ksKkM_C zp#e-_fN2c_sj=aFs!$xPs_LvksIkw@p9&V`#BqKcNB1c?7i0TUY|tuB32@tYT}~r< zvC28|%naMPU$m)crSX~iBOgc649%=A#{}2t6|#hwMN^c-%vQXH1!VE`Hen-OhECa% z4WnE=bUO*3VO}B*ORjOtcUelpt6#%7LqoB2ye_wVEBTNRDBuuo>EA7wLj0zK=>bwN zrYK2I`OlYLch(Uhen0U0S*FW3_KXbjo_ok5ohREl$85=U+1Jut`{Mn{?D5gfanz_m z)E@OB7#a3Xesu4Cn#z=d7~BAlJu%(~w{8o+X>0jl`HT?)c9XqHBfPGHklCqiGjN-f z+y*RcqDaLoPkGEcJ3wiG>#5G5gQUKQmL0>ucEk97pW zqU%=NrtQ^%6ZsR9k}Dg>Bd}yE0b0fWc@rWghj0~GF~>2#7ZuoZR!{a!xTpQG2sRu% z_A^B2OH~;FBgY)U7SXR$7WVy~TFSKrc6NoOPJJE#nHx1Tcr0SPa1~+`{smZag>>kX zBZ|TyK9+~x68unL48W+B&~4-~^_>s)CiIhOMk&L&tRU@dTif)*UYQeVgpGq}r`4xT zPnJ*p`k)K9<1bn(#ZNZYE_-=aElKXgXzu6b>IY!Xw(xQWhC5L3E#>-(bc6|MMFv z9AG0oJ)cA5$92fISii`A2z_>kI~T2Wr+5ze)YFDnHP-6JkI@2M^M8)XM?Tq|vY4iM zlBtsjjwN?V{A!DtXF2Ig*I>|uu=iJujTY(R%STi$pO$SAe!oUkcLDc}Rui*w9=CMr z8dib*rIopkTk0&Kx7^fS=5A;!o9-^;&3_C$qdWRJIMf4e*eopcMd=I&vUXDNDL>f~1+qExS+#gGq4{&F&I zmmHYiju;YuEztDdvTne0Y#lQtrQRuP&}D1hhdvxpl)?%jZz*HgnqO3NX}fJ8&VP&Y z>gV|t(`>^Q-0dQe+}2wN^3l`pi+(yP4K<)<*EKSKoNAkS{J?u(XRGx75^mwXS#7J; z>r(S-aNdaDalHuzsOV|tdj~$q%dcjaR~x<~mZ_s+a8lV4g&W{vSmZqGw!rJ!ib+6wP5YDjVq~+M<*6;%xwLGN>oM!Af%xW= zyxQGt8#0fGMYmST`-zmy$s4bRt3DdLx|?Ca>ho5;!Mur9&Mz*M-x9Nl55z)%;ij{f z!@HeiC`F9$)^+3;DmF4DG;%gCioPEJ$@oOmJ*|gwUVwAd=vcX&0>6ktx1Ht9%VU+% zqo9+-QsFn}!Y9f}E~^;kUgsMpJ-i1QPs+M=4iJ~pEA_L(>XH|h zqkJ49u668lZc)RwigGIxcGT?>#KUh8^G%f; zsj1q}cd+*Ib@jpq?s|i-syE(_M|6f|XW6OE%vtc?4yNlAOr?Tc5?zn8{z?mGM&)_5CDwgG!eU0za# zrr)ec)qy_-MC=H$H>2eCv~f+VucWD~rCTED&N2S<{RL*!=glwPgl>LhKz%Se=zd&%&_xy0eCtTZ!coB z7%kZarB_`wp#+DCNLnwAslA}=li8s{=6&eR8{Oe%**o7V+Yw%bzF?r{ehLTPi1y7( z&z;N{R}+K>nTksdz`L^&>J#Mj)}S*H`%vq}vqx7qR?g$eBE)$)QBI=)_h}TEz5gCLOn3{H4FJjOnB#jz&TeB$-h$4d`n!;7DN_(Rumg~=BS^+n1xyC{t zE}O)g5HoDcmQh_Wa);Y_(gK9&A$tpRM92`fV@jSp zk3(T$dX2U>h{5eB16>{cnhii|E5a|npMfADm-RH}d%ViB25(P}#x5y#QsI%bWAJsr+EPB#aN+=TCX$1CM)1BnJ!? zFcBslI&I=}CZwvRj<7jg8zMf@S2#(ysNSHmE-Q@e8YGX=Pp+cxB^Sm8>H84mG9kR} zc>JmWX9z@H{QmBSvbf@wf|xH~9tKF`lcdJ|-f6FZ^cgFzS_HX+YLfQutE7a_8Q(7- zwJ9Wd-+O^=b408=Zz)Nqg!G7H9f_^DOedO?!Muwk_CSLa#apUo=-Pm%*cUB8U-*D?Yu5 z$O4CSY+l-0Ao^l<<%=#~oRHX50*wtaNA~!_m%KOp$45>ka*rGaqm>jgWp|5VJ= z^wK}CxJf+jUaasO4;iQzgeM(dX-^kFR+GH>#M-*jE-pF0 z(%!zd+b9s+vHU>!pyY+3%nk*LC?!iCyu~LrD_X3pPyZk+ba8xT;bGM9pTiMFv}qy} zQRMG`^kKt3((Vwk_=N3w5ncd@%Czs^2qe+}YSmp)!wP>%<0VdUwOo3>hjlyYA@O9M`!crSvacwvbI=7?lPOtmA&P~qutGuL0&|*)bbyayHN<|UP4xh-)tEJvh zSj~hw&OKIrg01jGt*(1iBPpl~SpmA56-LAM5~&1ACW&76_V;hSZ-7NPXMi3(z0^6jAAQouQEAnWQH!Gq zztqB>k{LKO4TAJJPS6rw#lS%^dznTTsn^k2NG$!-c(Qn4;BET{sf1vIs-n*WG$eBO z>A|V&2D*qbIBdzzLS}#=tHIHY8nSFikWL<(m3z$Hu59BLr{>vM`eH?Fi|Zk`+s-Y) zt+IVLGx6a+Kz&ko@)xLOysXlpFr8r9lp?kpX@EVgi&(eJsA7BrHP(!E`<0H&)h}u3_SG$9P+(KqMk`zG{uuXm zl~8T7urV#K(B9o}1`ZQ=4H<8^KS?{*C3sA7Iw{oeA8EyGl9as2nA>R z@qe({0?82u&Mv_P*8I1pXy?>DTHL(U0qLu{XM?U>Z5io&A)dM!mvRi&IvMJp<;q?xsZT)OSNB}S0j6FJu zR>K_8OBzH`Hi`lT<_*muI|DLq@OB&~IJ5$&8rEU@u@t#W0DqU@4OAa9UUFocpN1)o3?yc6zplX>eV)e zd9kl=X`pne{_<=As+m5}WmvEY%kOnjpX^5EZldcfNwprU)rOe5o?dt!rGaP(SjiPe zzsR6`J<``h}s-g#Q+mEFD@RclS*&k|9*2RZenyT#$)>~8CLjniv_@60ke26fX}R{u={rM=F0&gP_uY?t z*&6>RXJ7@y7mO#xl066TWO!~ln(N$@4=)~TfEj8mTz<}f0+F}_e5uFZYL%)~EK2?xa^K#mi zXh5O0OO^|wIjSMbA#STso$%a7`_6vfukS9@0D~@1(+X0nUx`r=IqScj^a|s*_pRH)_Mu+UvGEA zdr!e`=3j)LIjbwPy-eT-(T6O|$_g5G9yAKd?%6NpO}1Cb>C-QNdV0j!a8?6Q5cXh2 zb^b=!%KEOE)NCZHT@O7|C(3To_w4{0{1O)1bL@)(lQzc7q|CtD6dz`rU&ev}TD<5d zC^TeLK-H`Q+u(^P7Zu+JCG8_naKX9ZBll zM%0z?^Nv5*=Y?tyGW;rL`%MB~ux%U(unPXO&n~nHoh)<&t=+ZLD#WF(jn1^4K=%U} z>u7N9zg}af^ak}0J@p?Z$!Z4NNQp6FWg%=_V=z)FkoYVGL3(%=rjZ(nX zi*jDF;1jtQ^TqmV&*12hC80~o!E^WQ=e7IS?(RG@OAoAw2*tMvf+VFGp;@nnh+Krt zI(>*$?G&#@T~%(yYO_N9nwHK#@j9>e9^4jvRj~%v$C}mR9=2 z#Nfq1n8|Rsx?}PReshoAEO%gvC$36D?STBH=K0$|y&<`(lr)`sf{V5n*wYk<{X}bT zA?-#yZXfOMke4S{s%>jJmp`2XCuz%jE;0u%#@!h6MH;%*RioC%ncYxW2W7=z{GI^U@hU1WkA@gMpC1$XWk^043c6ij+WeI!jzp$LPurbKqAo{S zb;Mo8oxEv96_SPd?_}&N4oxeJPHDWmm}#(TxjyF%8mNc*n7x9mPzYZy{AM2%vY>IS z>=5U!H6%Co7rnvpJ*)UqI}D1aCG5u$#oM!PDAxT99>2Qx4mYbYh>@J~b@c`K7Iy2( z=-Wf#=sP7q{;n^cTC5U)q&q|nT=R}_ zK^NSX0&0+zUrEMr_vbCbfy=cx7Mg4P<|R#xakR9Gb<;1u0~OZ_%$U%h>uo`3+*jI%TL zZ?xQr6HRoHVQjsD8>{}Q*suSLa~1Y3Q#LKhs#mYAd^ z&;mY9@Uy5N1WU?q^a~i{3aF<*@-I2e?mnZWY4N2%8zui7A8QeD3E4oM=-i<$^*21# zu4me5o%=VO6Hq9JS?Ce}ve2KyDjL*6_vdlqm)N6K*GpP(X{J`^`E0VJ?J--z+#L03 zx&7nhX7GkIq~*TUqAO_tIeO6Nb1Bj`fZ^iN!zX@}g*iyY*E+p?Wwu*dnF#`>lM-W3{ChiN45vWqk~;g>697Mekss-_7@P;EG0i< z+aSZ!Sy|DI5lG!NkFa`uL@`2-P$Imeis|?1mx$oyTD|NgLxdlv0oV?dZF=YHMi(k# z%LLGUpVepMUe*|IWp~vD3Bp@8I@RU9alN)Pj)twK=9!@Mgc*)wyj2uBIxwoB(j#WN zxVckYiY@sxa>z4X1AV+Rc3P(H{c8{VtAM%*gLKmETum-Kt8}?9Z}aP@An258;bKOH zOl(V7ihJZ2Td^UxA;y73cU-^p?=`fJ?^Yj|e-@Sd3^IL3W`N}}aNewgnL@7IQ+K4P zBHYmVl4C4GN=v76dK!b0hWQ@5j-qVl#f{ z@*r12!VLw6+Io@59N3dljmB3svtuHDM|B`%(~9~!e>`@)%-dw-s31v_=BnqZM3Z#m z0(L74s!*TXAE-;QqAI#+a^E_~_IAEY#F*9;g5B0~NKgLaQWh7Fu)M*FyQ!te`}VIZ zq3BrG6YU`D#fsgWh2*n98)FNk`n+d2YfW#moLJ1oLdICa=WzfqG5&>E#1e?RY0jdLb5X4FSk%aWmyBMSrwb~w`< zQjLpJP$QC;y;%@tes43^Z3ATEh>$k4gB#ZDsdv1lyd+6-*SJ{II*vrg!Y8G7vPk!i zpACyjcGh0cGt86%90V`)d(Xcs%y_4hYimci8J?yuHf|cD`Sq*K#|>*Fe^t0Km$|%@ zl<5(aTZck0CVGQ9h1?#;R)g=b(o}U}#g729$4D(4B*gFH2thK9C0&zWioj1kmh0Th zjMf%R?PLvDAr*b=6Nu2perAlIB~^X(VjzgcVkk;Y8ozm*;Hzsy85QPf`<&KC8Bir# zD7}|AP5$sraMtatll$_gnl&=kO3EWQ$n|Lq5Zfu1;;)~M?v2@eLR1Y@NO0C-C84&% zTmJM$HL=CbsTQWz{p;dlPbB@X7+WbjeAmN*>oR{D%;_Ryyv&PLtmWJ9C1~~8cqJ_WI)-zRV$W2$Ak`W)qFw;2jl;`rS6QN6>20!JjVRQ0> zB~C2!OpHSWvO#Qm3n6wR1$!srYsfc8%yZ*-pz~C;y}JGPZc$rn;aJ}aoz>FK6xaNU z=HW4SgS{h(ukz|{jnwv*o(0WQfHbP805f;j-g>nhouDusa`!F6Mx-e!`_9GB{|oh7 zYzNM21SNMTHC#H;fOOigIAvtX_hRsKXNqrnc!8nVrz#_S{qji#M;=(gOALV#tsy@< zw;1tsnm%-s&VUKyefw#!8Tc(%8^Syq~iO9bhGxXS49!vFT$<@b)IjS%?LdUBdw{AZ!vp8AeX>*C87 zF=Rl_ScgAedtP0f{Q%ng^}LKjDc%a#P_SWK%>9{}%V-UY=Jn3x8#`DqPUr|}Ylw6NMwmz+3zKW+SS5)>d-F@7#MH)9i zo+QEoB^J&ERBw_M)pB)kS|zro)YOTz&u_RuXN^(_SdK7ZXFc1{A$K{83%D zn^POG5HFI*B`(RRB|I&2e6Xart9rLW%x*pXEm;*I+1~o%+h~RoA!|#>OsVRVvjQC* zH%IR9bZeFQS?pxOAhnZrYrWwxTB-o)MuTQ+W2}!QKPrjUY?J608$49jXxAs!_$mfz zah^mJWa4ji*Jw0WUT|Sris|y9+CJa&60vs$^}GENVXy#rZt|A+=2BsXvFhkZ7*%dD z(%?}srVp{o%vI)Wj!o2P#)gueT{x&;?Wz*A+B21vCNF@k=YlFc4Os7V9vXBQnl&JY zd%-nt3omkLN4Q^*RZS$3#%Tp;4^)uveTQ=nRf?~!_c84nr5>YT!en|MZazIAhP!o| zod92<@2R`Y(QesnD$RfeCnMA^xLt2F%kiEHgv*3!ehO^_W^OFqN;BmB$E5h(zw7~HrBf1rO8`CnGR6+D97UrYW8@U&%=#nXg!vO8uT z;KWXA>(V+Sct^GrJ{e)o-P)0lgkZ^6MzQ-Z#44*}RZqi6J7t3jr77O|iQX#a$h$gL zuEuw3uMfvNC+@Nq;SCJT&Cs|kldyQzS$MJ^t)N+<(8q<%e{y93WgV1Lu|QODgC-1~ zhw0s{&gHQeT|?oI#XXIByDFF;R0CsyJrnA}GP{!iFl82S&`r9@^2cxKe&`%BCcZoil_mj0!XFG$hr|qYK|A4nyiqUB2wj(sx0AY{6z$ZfPM^F|R@}Ls`el zYToDDHduGaa`7~~DFt*;=b&Md4LwEKjib3v>%FiZt5T4%Q?IEAWVdlQ{ys5zcwy5O zYsxFP>QKvlqPb^8*6SFYGivDuqBPwm*2 zz&cpFk+FGA_qxh%iodD`W9mJd>P&Rl)TH95IieSm5+REXMBBgqBLNOts z)3xmXP36bL1ah_L`5CmlurjckLP2GM&#Lp|_P!xQ4JpiL8toS7KxnIz4WM|tM52}x zTOT(=IFrMpGMg3mq5Fl}o9c>@;@7OL;vfdQ_5Nf7T$u9O zgl%Lp7XQ!$Jo&V+cBF(IMM%>4=)rjX&)C9IYhBq4F*`O>13QpFLbJE(Fj$9FjoW&= zbIY!+7ciZgW1JzFZkI&I9Qnf;U4fL%A``kv6O-7G5xYPdJ_8I6aV;`UllM#`;dJ45KcTh*g_ zOLLah)>Wzl$YDJq8<@x{qS97Pf2C-hH}*I=kaKi0Yk#^cX7B6FurT9z|F_=rcV-`L zaOCI>n{1~^A0i&PR#=IyS{L@4IaB$~4(&}Ve;k2|{*#}T&}`Ir9$hC()C=o3#ZjUR zoe^eVY|D^J^X*vp=#knNCK$27E=-YDJ_BjCH))A{BpXUhf#93?xvZMY<$;!`5+XKt zEggK@#r)b&3EfXtoZz#TUku@GC>`tF>OoD+UnsWJDcoZk#-Sj26~8?y=IzYoPieGN z0MJV4&NpUb%oQ?;hDnoLFZ;FDWDGBlEO~RD?>iBnu8~BGZ`Q#mWJIr)*4-pFIVh%y zpTWu>i?hP>^7iAp!;KNb$eG1>s4t*_9`$i~EE^gOG26=0u4w0KT=Pc4pm!(w>Qb(V zq~L?R)rr&$PC(DQm%uY*#_VyOXeVB)Efk{l?Z{m^=^6A)W?YG|{Op2SLWU`-n}b*f zUp&XRPBa%IVSfj0#p;2NcBP+ANzz)^^LctBUB9|tupDtKq9~#AS$8i?R2?X=j*3Ws zdWI|xvxkrO8Vfw{^5sN(j_axjquwRAGV(hoOc!&DNRF+1GLB&_x4pFWB~aXdS}T|o zlMEozu{yMx(qnImtxrsQB(&bXtwurTMbGukSJzFjO1BHCd7DomC`h#*tVcZ2!qBR{ zH_De~d-j6r**0Y5=v@2UOkK-v-W8IM?{~kz$m+ zP>z^-I@AK7Bg06vze%&xQ!n{GT=BKCIe!SnveyFwSiBo)9#Q=94WLo);LAr7S7dd# z(0_Jp3?4vxAZGso-pAid^5$-|p`Z(pjGMZ2JS)%t#rJ_^+FFX2=Bamp!Pxk6+GxMa zio-X9`mJh#pQTk)-eZ+tW;Twx*t%x{QJ>uV5vAKc+P?Gou%_IVvBjfG+~mfxc?o{o z79vv3d$_C3wd?!iG2IWN9P81|#c87GSKc1{`R-Mb*vOYfA9rGl=9B8Q7N}3N$XO#R zrG(9Af4SACE+{ofBJ>bGWlfo^zC7H`iN>1>DPcK0TJ6!Pv58*xCVyZv(-qpe*BdYH zHIJ|Jxog$d?Usi#XCiclwE4Ly|J8->EXE?iMuNHIG%^{4kQl?qkFB1Dg*0qikJM1y zsXU;i*YN^0EvJ$d;1BcZb>mRWT)xnIa*YJ6)^8x2qKy{q#6p3`QT}=2Kk^!?={Jet zgMlrX5)ywQx=;+Zk^TwZ{e%nP`fK@*QAB@r>7(4LGHj+M;7(;afQoNJyY8%YQ1<^N zZimMS@rG$J)N)&mGm7v$>@{!m9>bw3jiz(#8>A|>J$h8e5aA%u|GN@ zRMQneLrMxl?>f>anG#*fPv4D~;80++Oe*E#I6GQJT!7$Jb7BMf=YaKF9LPgwKU9~} zQ@NX?6U+U8GG-S$O)`g!wG3V)m|vmZq0w;({o0zAS5MA3KQ*j##1CAe`*%w}#AL~+ z_GWlqw?uSJsHi97*Zu~=fwZk!rClH-X}3%QjXj#-gewQ?L&P}hm6sNvc1U+he>@ce~6OgFW-p$)4za^4GS z`7aF?sE9Gpt2SJUsY&V^7r_Si@e= z!3+8AnLoswK5cx(VG@jjx)`3z342zqq0`0Hhr#%)@(oZ#j2E7zg=!0^ugp8)N`9rU zwm;}Pm*04d#Oq2hht?J5sbQy`?^E^ykL`VfL>1Sq-N&Vteis8e$jeSyC+%`%ge~k} zkGagp#aHU)cRIoyUsyWG-gvs5hfR!H^DZ!micetJUWIrUTBD?;8hl-ptsS6 z)q$Um>i}1kvwi@WmN7dwuQN*dTnFMunZHQze=ze+tbe^L*s+bQ-%3eVtGJM2 z;kRM*8(=|yPYbBSe9jG#Wa}`8AFq-k#yGH`id62B`GB1R2<;B=3#A!wer98+sMY)Y z+f%;SnlfA8uI^+b!6*_FC}2H){TZZx{w)uSCpYcW-L2GzA|?o-dYVNQEm`rSYA>*; zQfgMZvW16O9nmGq&GnY4zcKMNy`EsJkzMa)5ovE=7qv0qy%_(Z>*8SjB?P!9ZTHJ| z4Te;_|K{jVB+W5BP{G}9whh+Qr07hleW1=@%TywNbO#?&gZ28Z`GW1eoJdRdH zE699s8pLN73Fd#>@srWyF%O}BA6#7sRdbbT2Kp;|EZ&i)-_)n*p{6ZVPH_B9-$65> z*leESA;Et!S=A3#Z6f{XO>?{p;nB?git=nRSbtu8%&gB%n%Nv0k$)LG-3Jbr9t6r9 zBTF2vwl5?8>A3%BppC9`QKtjsD|Ld_Y6}J*qGTKCnFQYNF(4JzHgbkfe(UJ|2f~u< zMO#%qPHD~t&9&@y?~wLYzzbgQgU6kWwmiS06L$Mj)BYM3$k-?`nmf2C=_2rlA{Ufu zOuu`u%+Fh+eN3R{^Xt?}LC2CbIwwwa?lgALV`ehwDGu)8*D`19Z*|Jt`AckfYYHgE zCi@RM?@YDKX5a}#81CSlGKB!ZTeZ`hnjT0g^E95#hS*+Wy3M$U^zlrE;|?)0#Wt_K zt=r{NRa+0|^kXAMB)yt#cj5$&;yC^bIBw4sBOxWFZKe3mt45(F)^y?MKQQ$x{heQ+ zzD2^>(v4V`z|(hnG$;;~x;q@H_3`wEOi$0HTW1B6I+UX*I>JHG`1#~@wJ7H z-dMmmRfX$R>=7(mIcApng^ZAZH5Fuo*I3O)R@=;~I769r+X*w^?@Wk0jmMLnbUe%F zpxSw{e_(rJ%1SItaDr2eU^S1e=`p^IPPjM?MOh7EcF=h8Rg0-QRt-BYlkx0b(Rt1e zb8|{$5ejL^*Lm*w*)g$g;shAZLzC{`&(9g4{qXVW3o;_&^snrfJ3#K>dU|A*)dokO z+me|wIA`s-;DG48Na&OT2eBOPI-mVUrIDHW^vHscN@LnB%Ci1(p?d?BKEtBMn} z#8k8bYpblmn!GtLW7m$G<5ruw!qW-P#3;lNkgx>n`6C90 zewt_mm1WIL@iQ_fCkjll>CG>+)Apj%Sv`XhIL%t}nBmO&ya1gc?t{9+ccXUtwP%+m z1m+) zS;;G=DkjLou}O{j=0T9U6Yr&zaHH+VNfAv1|Gag4GX3e!yGC+g z2S*)-k7z4SGT|kA?(P7xGIZE=$j^~+JX8kRQYH5-f7hP1_LsQ4IIKa2aa)BZ&dK<> zit@plcN|w3#WTR}1oSF`Sr;80!{ZvSMswtmRR%a2JuMiyz9~KgtnExq8>JDOE=k)O_xsUa3E$IF%M;^k!4jV(*ooa?bK83i1;4+JlH<-{~=m( ztJZwxAzrkN)-k=k<>R=PSn&^MLvY~hbOhNpXw*>?TORlo27Mn35AdB{?b$fc^g~}c z-i7S3o@nA@HA3$G%H360{V^uVJO3Bw-e!P>7-1+N(w(QNo#X>r_W~-qYjC;OBX5aZWT}-9bk00Y zI)LRzwHF_<3p%9I#Pk~M?h-zS42LkkT07;s)TbtR@8xB0%{lRvjr1EAI+#h`eFU7N zxoEH)*Q#gx7!j8iJ5HcgIEEwtRNmBU+K)rFavvUahS2DiF9Pjz+9D$O(f`M=NQm#^ zDrvyA>vhTmA1TU+kV@S~&ctK4HQr~Mwd~n8k?bE^s4xZZl~qANJuzklS(gD%OaCu!)tW&pUjFncYTY`Xl={cQ{PLSyBI%w>Ne5t<|a z+tnsU7-GlyjZ~r;iVv}JK}U^>MVzptp*ZIO8m9`r6{TaNu^V_C!FpT1ziIU{Yg8I& zLM?>Q{3+xUbTsUEw^1-;;nF0(EB%9bQ_&nT-t*sr+2=uL&gJT$TJ1Un&&tB=9*CQC zg(ci@OXEeAwz?bnT6;kGFO)y0p__{H+jm|@eVrV7eu_=L z<7x?YlX)0@Y$r9-+n;dXT*>=~^FAs)z`v#_8-l?<&w<-}z|fkr7Jo747*x~dK!@p| zRk~}XW@_z)fMHd-%R>z817d;|yULk)FmRr0&J}&|dA0Jwih)oR3sfdb(f$DE02Hm8 zwECoI13hdIVb}0~Xa}#deWgd(ZJ;PQyav;zaftBM;J3-eO6?_4;06gUB(ToQJ+*Vw zQMr#yEcEPbwbiAgnp#6+vM9a zj>^|`Wuvn=)5-LKoX~r^g~y=1-XTn3HmWE>UxtlX5&?tj@tU9kLDrjBCu0^90Diqi zyL#L3PI-S2rMl78_RNBDz?L!|I9~b}@6oO~u^a1*PzWJD1&K5>&5Z#*?$!HL@}ZCP zagjUfqkt%V0d1sg-@brjcMouxBu@o-br%|Ot$t-W`aSeU2ZnssIe6A6zwm9%BjE@^ zQ%v`P<<`!>GU`No7zokfGj`WZqjIuf5!4TmjV(z@%!Upb!I)qCJwDg&l_9vbllWW; zvB!>9$#FN#zn3Vvgm@oyEO;+G(lZlZve0(`mDDcEin#)mt#m=F%8CI?le`HN{n+j5 z!hdnaz+#|>f%4>GQUjV~Qog=XO8gwTVQ0ohmdWF-;;_$Nu4&;Fn%%QDK%=d{e6)uG$Q-%3)K%|IE?Aq{Pl%DAk_KwoLR{wOlBQ-Q!l(7Z)1Nrb|eo)DA% zuOOLZ@#*XWaX?;2Pytw5<*m{@f%N49_fM)XVxgtL(cOT`09MJoW|5NM;IPtQzZU@d z&v#NVwL5phlo^qVspJj~3L5hQ4&KCL{F-qlOs`>*J;>6kV~>X?gQPI>>uHH`jIKH$ z32&!{(v1}oqCCt7>y99LNow*6iCrt|xbw3K*?tzjp4XC*u&=r=c~o^;jBApz_)lgB zDnPX1pzNDz!fa4^W7|xhxANTzYNh25FwVmaj~xghsrlQBN~0s*RQ0LH4E%&WDqizp zE+KSDp~izOisGtq*-AyyA3{(fp|L}hrc)}|%x!e*j{fqyHC2R7;IPng*Ev=52XN`( zi6+~aqjR%ZE3?Dynjs;M!xhHWZZ4VC4z242>D&LjbnBng1F-P1mY?1+f0|Dcwr)_%s$$Zf9cxUS+C7TBKY}-Ev|0)FCx2fV!MS$tsJfepO`>(q;xGui%}jl z^O|G8#b{QlV5E4E$>NignGD#5fsXe4zvhAz1+Q5f*SucY>H14$;V70KpoVJEEGTIC zxh$&$m&owp&pd{_mq6MO)%C>g#Y!~-Dy-=420+l;lhzurG^zBfjOES-@;BS1IhNq^iv`vj=hH>@!cZLcV2&|PGZ zt&LYNIruT$aK|qk@u1SwV{#Z;*JCBIZ=C_)!$k!1irn`MUtdFTgHFL1yN2Fb6P7%t z5>s!@kG@+eUAUyuKz6zkksoSq2wra|8qT@YMKg_&^_azSpi{W$i`}lxv1>672m2ow zFCil;*ov!Zr`R}3B)r#-JWz2~>tfp5N&Y0LOI%8c-*f9y=BA;eNgs9t|1-@}yh(ph z`7yKowV0DS%BDM;>PSLaE(9wudU^r%88x870JBT)19rmU_pr{NI=9>eY+}RjfK~Qj zBMJY6Y0}Ot1kh@*uk9HL5A^8~fBOR^YS)vnbtkav z&Sj6~IYj3N#*NuLz|99`nTwmvJd4a-kA{dk)VGSu4Mr;hgW=8rg zR@e`#4jqiu57>b9O4vv$n^_cb8mkG&%G+~f)S!{qG3iEFBZ28o-ELVT9Af0ASC=^@ zr2`Pn)Gcs@Y+r{2z`Jj%G`VbDJ_d#o?s#{BCGlR?h<7qzK~o)dD67O5MM|ZgVzp+a zM4ok*`%1aS(eo?y*k9R>Up;hs&IR@~@h-I_ z&u&EZ|Cx8KzWkfVr4eE^q1(bm2V&8iLRJ;*m>MmqJ`hD5hEWlqM?B_sxOjt*3<#Ys z`*J)k*);8}P@zZ7^vw5=7TgucBJZ99HmZ>sd`_!u*xI0njzAI30Z+itG7=p)-@^HR zE&epAjH1`g`p7p=@Z3uS%(PvMQ|iw_<@%`G9l? zN>~8BP0<5qa}MfF^_kzbysT=<;h~tHEXrjFCi1Rn=#-c6qi0MB4!+qrl*P_dq(1Uq z&{mYNFEQ+RPoj2M!P2ubD1_HYjB^@@QaC;M#M!7rHdmU?U60RQx|^5anmFXY(IPx! zNa6tK?t@{JZWbPtj%&4ET5D`Uhn#|YMSkOMIe&8{$o}_Im*XZ(AHR7rTClQ z(gV(i`@z^;`GpF7F_Eo!3=GL04hspW+xEUU!}AM&@qOmd(e*_AO}g<>1NyMCI|S97 z<)#rOt=*On^$#GIv7$clajE|m0!)YM3(y>P;_sLZ^p_|=_fV~fN7IjO9;NFPXuhuB zeWLz^t{Qm9R?T)ZQew{~-?fbPZTq^wG!4ji*Pdu^pvWC%R06D!**EWoxA}ceWePAF zad+thJbEJl9izGO=Lg-(r!v_nZ;TBO;35d(9n?z~R3B2{2gLTxe3O}h<`a3%Qe?hw zYAps=a5e`Mo@r7DfBY)JgP#j6@4-m)V!F3@3F$ z<9EsG%8gpK`XG})DM=AAg7$V|%c?#1*k)K}Fd`xejE0Ns-oYzfQz>2hK4&!dd`*6D z9M9uvPwvQi-+tE6q#qQ1VYCobz+D?elLCrd=sW$8&^}`t{%(@8gDN9~mnO3Cq)yfc z3-ReS%bP;$VOiZrowA=FAybr1kppf!_}{) ze}?Hn|Pw*%Ijn_B3>=sZ|JUk~! zvfw7^)GHI%nzGlj;L5=V4K1)2AzG5Y9M4wLT+HELxne2d%r1GBW6aXp(f`QF#t?zJ z@XICdl1D570l_El)@xpY;QN|`X>py)N$0_h5zxW7ck?lkr@=wT2}HVdG}k=|Dj^hj zy>5lCE~f7PpE&~EE|>MOskgW~=HDNZuL7MLSr5#+6QQtu!8^7=Q{il1URm>b8BsPf$mNPG0xbbIQ(m{pBP4lKN`fzaPq7Q|;3R52~ zmA46;dc^hF9}btEI0s-=GFPzUbqB~9$AosTHx4;*ZWm|_=;!YB|E0H9K8yMJTXE~p z;*5W*GCp#CP6ZwmQP_X_=3U^i6qA)=^!|JY9!#-mKF3ryETnCddThWMqoK65yw<08(13i z^cYLh_lHZFPMfQNa@GG|_l4b7Y>0@giFsBy@%%zy4fT`x6KKt{CA5F#DYNd&ai)|b z{||N47A^dGPq(n~?axEv@!c+rzrP>p@IAf9B0YZ3SKwJ6cRs{(^c@LWX9S!e`}6AD zib}`x$IdJH#@~1>KKUbX&?KUtCFvm82{}pMznM{SJX|0J zIDVy4teL<8@3hGRJ7T382l?RwMnFB2c8VZQNLauJtca|pJYa_nDk(?;^_-01l3;>W zC|EXb0`;WmvGTw}VKi8PRrLg((O>~~w=uW*Vg}2D|IEu@EZTS4X6Yf|L4FLLu6{1- HoD!M<7(>K# literal 0 HcmV?d00001 diff --git a/Docs/image/Untitled.png b/Docs/image/Untitled.png new file mode 100644 index 0000000000000000000000000000000000000000..31aa0c40a1b95f4c285cf7bc3cc8db0bbd4ec190 GIT binary patch literal 21827 zcmeFZc|4Tw+dnL+C{igZMfM_u>}#cvt;kpgqil&WjO>iGNwR0(TFE-uW*Tc{9otl5 zFoR;47(_m|^!?W7zJFi$KhHnU@AbUyKm6mm=Dd#cIFI9fywBr2jx+X(g%RKG zqq{jcIQUGA4XrphI58X?+g!PK0{_tz5OCq(IKg3JctMXIj&{g>_v^yjw^KVNvhpfa+s~(;;jeb|aTAUfk$Rit z_NvX%E92aqGrTQOVX?|vBAoX)M7JMUhUy+QIZ^wS-{g+u*HKo!zKVp3xUzDotn%zw zPq==bbyvxgP1d7Lao;xl)vId>_gOEviMRXB;d4Wk-!63bX|9zoX(Jo$EF#EZnu~c9 zQY#vnCNR#_)?EA)l_J3JoSJrAe^nj6`9o@H=zFnF*bmP2d39U{OjJivu2lV2vzhHB zcwFq0J7gZ@A#a?zknbMeVoUeBqdR47j1e#H7 zE&Tb*Lvj4=8?`Nc&BnsjVW&mx2f`AeRKflAdNFwnak3J8zFUE;$#vpW?EBGz3~NYO zc|?yS))^vOG(cmMjw zT6h;lUvZb&bJ|E<-_y9jzB-(ruKPaA6K^MZ-h>Y$)J7H!#kURZiyT%>p{Lk7pOg{V zNXiZQaSuN6fxk0$*SL&~$gf2BX0+VJ?gY_BI}z=O>(cM|OTQr|bwYol&~EN49-$M( z8yZfPt!f!#Rt~Ds5`NAN)*zDd`5${;O1!V0wKsrE;Z$WQD8Q z2Ql_=w&8|cYY6LF;gr6t4q|2R1TWW#GcwVMPM}UmP~+~=*YIhf$KR}Gi8LjpUGsWY zwQu%$TH`tt>aSTa-r6`j*@vfNU&|C*ZZvjxsd-K%B#}9xcpL0(1jKz*w&Bvl>g-WC z*vEV2hiW(Hc9oX9eolQMJ<}6Ci6W@qC@nZtN_7hYISI8c(yz}a)G&r z^f?@dv-Pv_gGI$18x5(xY0qd*a+@Mwdj0%}*D>tPSNzq=IiB6G>~Ki4DawO`)A)Ed zcjaP`ZoEN`_i_8Lj?k5x!?|*p!u%>mK1tzAdsd3~EA{tQ^!v>l&k&(lOs`P&1bd%TpY0q%`=%-L3dm@=c^^idc5~s*1_>ZQKSNocr!@a0PL( z)ufJ-z~ER6b>lgS|KVwDi8vqE366jN?maK3@jR~qO;7?uOPSF6GuVl@5r9nM?KIA&8BP5`KOv= zzyEk`Z!e!9z!vV`-;3u;B3?Qhcc|5LevL$0l)#YmmTZ6@dD8R+7eDQyK~x`-6bAP@ z^8KBaVU>QXJN-x$uQ=RpXkQNVaO-eJ6tNev^r|yx8$z5I4VqQez^K= z*V6dw@MWrfmhe!E?eIc+ZIq~QhgxADzEbo41wc_hEDTt0?=ixCCsk0a#ocR(maX{n zl3WkX@1zk88S06o{7~$;ZEf+l{D^B7BKop2qV?dKIZ_McslYhHkV!^}MijV3ou23< zR8`4-(vf5Sys&B{@>u`M6}n2(^oY4eVfq)hbbM*TF!E+8ndab}o5QgSv!Dl*sn!duQ>=jI4h0<3&QQ?S z+moS~PtD_9NBRvc6a{r(l}S%iFHzz;$H58Zs?zuJW*)F_I%>~cC!nedb0O~rH>?{& zo7$UifTpiRpM{>ZoVI)ctjo3h-h$QgzDqheV%@6+%=k_VZY~rb+sbSKXKapQ(yJA- zW<(rEUp$k0C;LuDbiITv(VQH}A9)HT>zKk&Ju6?z5=ufhrfy>u55H%8g=tOnR4rXP z`(Pip!LtVj42jjty9r&{)*|odk8JF4*AJyz+U(0Q)R2Z`**TCfbvG+KeQYxK2ne0K zql+nSf3K5LPc~mjUl(B^=R*6Zs>tTBG+kKTiMV2Pe+GJUrR#Qc;EZ#Y9pOlcvH&IB zay9!3vVpksyR&|k{wfY7WcJETY`)fJ)FB3}*7S3CQQph6;)uvgdPVc6#~+&&2^=}J z1|IO7ZzJYJo^`(%UgKO`&>dR`4WjUO%oS8TrTQb$g!cj52JiR1d8IZk=+fW5bBf|*U|@Kn~IQ}MBvM0)@#KyWqR&@rCzri@}~xD zzF9eJpL&o9T6$A)t4+gd1Qe_gXOTZQJ-6y5P*i1wlG*2qhrSxN3lsF7A0?Vr!tAAn z9EB$K>8O_?tYg~xy`mb|GytIa#ijG1=C!3mmvU^sV!#yszNE#D;r)Z{nG*1CzWoYm zSkrr@b+r-FuQWUkK+(_n?oy3RBig{P*q&;I*uR~m6ulOB4tdRor*wz+p1#i!W2R6Em%W{;`LNGI)d zougc^qF(l$sV$rt{@izcHz(O+Q1p?~1aeF)f9v^ayvP6#E(*)x7gly#ioUVT6rgjN_An>_eY46x>UyK$s zGPa`Yy$ZLFB^%cfc}DOka;*^Aik?SVf(Wcqo8>?-^JRnVFlF%LP{SZ!kolXn@EHA-^nLJn$aoRrM}fp&xys? zYr8SX7kpDvb&wAahl zw?Fb4%WsbWy=hFjWkDd%kqaHG716d!k7K{7s51`Q7}EryPPdf3&Udo`1fFbo~$!mMgLb0{eZ3|6 zcE2rbO4al^f$w}^j<>me+RM!spgAF&0|;KK=G_Pd9}%B#jJ8ERXg%}h8@@h8W#7;Y z*Y4u8qQx0jMUF?il#kT7RX)A25T@A=>(yXQ z_xhJid_seK+SgljOU6&K%Ja4ErG|mpOLw}%x)dvRfO}22eN5R_=?hrp|G_rgn|G~M z(iQi~_y1Q^kAZ2b%b9-d5jRim41CjOA4*M%x$>7LB;Dai$>DfWm}vwrV9{YoLq;z= z1iikPR@B>wL%p#(|Hg4asXHWv%Vpm;LM72+xA$1cJart+$cdDMK(&YN3ctAgcf@b| z4B*F)Eh;{g!Yr%8;k6tH3^{tFj601P5v z@bw@-VUk`&|D_*1+$S(RCvNSQRNrs>U)T&6u;5(#RClE0a7%jqWkv>^fSx!XWpiT9 zxl+#lB{3(q0dj0JG>;}pbDA9eEA}5n0N;(4{D)r|8vsO!#+AjQG zBl%yKeI)FalXC5duC@6u@n37?YZCkB_ROF-Q12!W|#>3y8_RqMYkLKlH4u~Jp=GRwr&pq z=*r4`DcUU3L+Nu`Q|S)rl7-rRzQ^pj z*Z*toConWi-$xu}Z1qU0!>h!6uCOV`=mQ|69Ld^=b^mgS`2TX!*$OH3N=|8kn0xv= zv^oknFD4{Ow7*|HyoCbH8%Pycw;EyWMZa~Uy{;}s@mmN}Xbx8|tT*iL?g+6_Bke8D zLt^LkvJ%W4r9Rr^=3AQ#dY8bH{T!P(2SF%Z&?CE7hl@??)@pNwBTLCRIeR)ipk);od?sZ#_ib-9IBp7m~pmsfnEgSunr${vz;f zwOC$hjuOx6j%pvpx{WeZ>{D;5<*9Rix;A#(d2&;kRg3NQmoeVC)~PYxwbfdlHJ#5k z%az~OWLJm87p)_l@*-|~pOb2(yVVuRmhSOZy^d}hCLF3dDd7S3(Qe!o%JEsj?M*_18>q>Rtv82!4j5LU0o;`<|0xkp+u=V)7-|NR%Z^XCYM3nGQLupPdXIKyRg z@tgdvRk*EmdJew-vEH5?P}hi6=$7uIaNx6g>@(dbSiQt8tZpav;>nHE2W#RNhtXRp z>IBBva9r~4>KSRe&K6d2R8r{qkLoL*)Y?7&Z=5{A2#$AC9+9WOV@`)#5i{oxOsQSA zDnM!5DBQm}9BGMYKm4Cq*MAXk#L^t`w1C*Qjd?R28A^8su|fCLYb|#LNwPL-rQ;L(jg*ffyB-q7YH78J z)HUpF$5uOcn_OQx?npDygl?JkBktifP;cc^BPWBH@is?1!JLj0 zcpe&(D}|Z=lo}`E-W;T^#9sHSo5P08rF&rpu4kC3_ml)AcbD{g$&@D86tMk!tCa-& zdqv7Zs(*|&n_*jeZMdXlzs8{+E1i|2fAON|SFRaID?zd|u|P2#tOQQ$nK%(206k7QJ0n(`EDLuH7`RH`DIbRUNb+s6GyAeYa~P z;L%pr?3GTumlB&fF9Ab;(75Gzs7ej zbX4GLtZ|3r%HuyC=?c8kdcb$ewtO!gPe4-1U0L#fa zOLxnLKL3f5eA>+Tkbo|TnGX(-@uxe7>PN2oK7p9Asa_DD6HO2j&M3;+frPpfGJPG?1VzL6kxlGQrsp1tf@7Y{N#BsPj z%h+nw&%xvG*L9%Mh(9l^trj84QSt@sz`5|lsgYYL3BdI$%l0R43QtzUw$@4Vqb3tB>UFc#{|_dg4Z@Dv zr7hl+3^QLn{2QDib8fpu1`k|BG>JXU5PcJ>xPn1Q0U3njT4;-Lu@1%i?en2}YXlXMNg& zk!DK))aYHRYhy&HfVC5^nNyv^K}E0Z;Lmis<&9}nPIzZxcNf8twc(awR#Z=RUJoKr zs!P%1#}#|2Z^+cJa=c)goaJokxO*w(`?8^Xk1mwG@XEEYLNu)c zC#-?elsQ-2v>GWj8#3QK7%O+X&+O)NWnJ4^shnrzI(>b78NQHj`Uj+-fIr}KRYRUc zKdMYrepJ!!H2iHwc?P>S2(C_eFf7H;e4Jk;H9ag1Q z(lS?nk z@%?c{L@q`qwdLm-qkd6DF2kW9htjKb(6i&TL&3O3>NrUWc_A=U+1uvJ`Z|zHwhI{h zy8oyt;t68};Y(J=xppxQ(`y;TnqgwSlZU=K6wA8$y&I;QaJH}*X08|T)e<~MMu5%o zn5xrS)`^UH1Pp6u@2 zthbvwBZZ$ZDAWcX7Y2oACEm*!nIIQW$X->iEbK|Fgb;8mVeFW`B7E}pREeWW05V{5 zq&vGKPSkS*0<)FUc&@CS$RPIFCRW>ujncgm<6x#22#;-igB#QwwP~U$t9EY#hHwme zX|?}CWib)w)r=~jFCvD|`LB^?ch8rgtMbs8b@Cu-InhZ9Kb?hs-Y2b}_@BGcv!)e@ zvRmciGfkSFQe9@s>xh9BuN7gwl0>mUt25#Hy-gtXzI@}6iDOqkqYj^<5!@qr7xu(! z`)9|NVRR7@W1z;dh#rTsFSUNf^SJV&F+ntO+I|3B@JJXFVnrG2&MpgYw(^d=0k5a} zO)fd zgXr-_`bqs2Kl^&dCj`H5)W*sT&hTB|kMK49XeE903+ma(3H(e`&;su1x{(BC0Ouj- zIiOA8Y*^q=H zU+}UBH6*7fvZ>EpCOkm2P<{||BLz7^_X({CXzV4*mbMK9Bo>v1j-JbBhE$GRBlKNI ze`vMGtD~e2dgfKPpGUB!MasNyK`UpW@+z1z%69760<}y8at-osoIoeWFVe+?Y*eIq zEomy#?Fz8my!^;hJxvR*O(1FIIg}wS{{2|D%T(hMDseqnw)3Xb{Sx@!xpeC~t zzSIf3Wm_imi<-1-P+0lcF4j4hdI2CCxpL-r$|QS}j}R$<8(-GkwTqp-Fm^qWLHsEi zWD+d8RRSf)cj>|-7wqAo5+#@NRtLFX-9PxZ%4dw0m}G@zh@Bw0Im(A`&6%v;`kXqU z@9LxdKX4`kRO%f+#V2I<|6#khJ6(PU$@2-c=zri;ok0io%|BRdnA`ff@rSC{cQ&6? zQqOM9xwZ{kaDHq&lb@lx_48A9sDnubN~pa5VXu9HU}Er2sGU~zKXA4k-RYc5D($HL ztvMT)n>G*k+Q$&*)vcbR9*`;)1RE2Vl?W!eU$0kbcZk^D9~n(gM7oMF9k-8*C2X+)FN`Dkn%N4I`~+kcfX$uu7mQ_LILKY% zWcl+TdD+A`XVDUs2wz%A*xEB*@@CA3eXsAU#dHWePQ2S9SGJf!iA`xWKkOvq;FOkI z76ZCYhT>kVRsLA%zSYqXdI3MMaNRW$8Xa}`J{(>_v6Ds|cIDmzc2kM7lbaKhRR5;) z4%!Q4uVxKvEel;~$ssGB5r>M%*J?HsnJxb7BvIM^WA$!zpT#j_poew)@DD600fbv* z9I_xCe7t01H1j<}wdVEXQWbBQsepIsyw7WG92jcyc3~JXKaNf_n*W*k&b>GCYkq%Y z^8_=_Kb?H+;jd4FdHt6E=>$Mlt8OVZ&ReQ1#iWE$mrWX!N&6LhIbA|NJ2>M>$I1{2 zAOWf==_c1#7wg8`OZYIie@!vH8})AYk$BQ(FeUOYCbaO3b&N-&8uW}2YhyDaGcJ9K zdYUlpLpj;i71@J;+zfq}xYY2yY8sWfdVgY*{w1pC7gdQ@L%biXzlAye&WUBcFXq-f z;3<6sVlhYaxcKE5)C;?#q-mps+`BS;b7He@2``!)917u8f&NSk@=fh`oFuD}R}Rb4 za1WfpDG);Yb3Az3b zxpaAoH&^+uP6Ff2c*bFsZK`<%He-V1j47nPxVjrboES9IF*zVKu~g0>hRGQakzb?m z<=IcL%Ob7Zj}2O;}CuO{jh!=-~(_ zso(JVu$5C}O9h)t_o>elUb{y+FfMIh>vmznw13jB9q1SIj5?TKekKRCPS~Laa<^Qk zyd~B-epg+o!$19)W}XkwGtbE3UZnoXc883d(%*P4w0&p|f7UU74Hn!&D z+zTxpk7^4Y)KFQ0mt}sqA!omZ_4lTDM}3xKg^bR{stTAX+zQRA&%V_G61_^mdp9EV z*7kVYI66ZVGLDj2`3^EjRx*11q)sVJo^{^QKmM|PK2pQs1sMo6b<+JaO=b!V)Y*=M zR$smdHX3Pk<<*}XX!fL5E3#6}(d<=2pT@L2`5iU*p44;;Gw;ESU z_1x@NunL1d>PR>)K!5J8litmNr7pNV{_#ouNi;KlTO`iS*ewGRxQ?V4phg*UB4ffwu*ov46ceX2p(9IqX=F zry=&d<$5geU*mbT0wRhwdvL9NR?gL>2|)V2MmiX@qbA@%$I_7>!YF-A zymNTm&pX>(?*Iw@cdwaDjiXBHO8N_Ll%BEd4B*Mcb9=)ig_6&?v9s{gN>{*K2Jl^) z_{y7t%{L#CF72*(IJ3~QC-RlcPEvo=+Kum(Iy;ShX{7d6eqlhc6Ox!7lkS{U7lJ6N zy(Nh#b$PxYL5F^H4dn$+75ohofREl3*)E24w{RHC-rG#d!baIod$-| z8ybTuHfX3{p_x4ad?^GSjM8GuL*P@~Ci6NA<&G-jM82Xa|BcrwW2Z!i)@(w*X(x6% z#fWr@Y&hb)hEJ~=`;K-C>ZzE*qh{NLE)ynYSmlr3bV5ZNta@k^=Iq_UOnqkVqlkHl zC5mW+zP8#Fp5ig}WvF1Ylo2qF#;VJqr@w~Zx&BYFR?9ji0P%juK2WK9R#Lx|g%n+KuOlx9}0)Ph%NEidvBKiA7C6 zot6^n&o1Dn(iC-YnCUdx%4nK<4_VLAnbpwT2q9GnPlZMwLo=xLU6k|CGvxdY6fzE@ z)=efWI(rWX!nz41(6cym5&BJX4Xy~$Brmz9%l~fsTzBva4Sm576%fIYXk+M}NW~K! zo6&fp6y-*mJ5se(s{_{aCg2{A+4Nyxk<1x-W=%hJ_%k#VntxUWcRqhPo?NZy47+_; zzTbO!M7qzoqEzrI(!*pvYV9ui5le$ET2n$NA#sSJ%|Pio=Yilz2Mbm&zq?$+62EBI zL;?IWzACPw{zvc9(`tQrv^%~*Q?VZ}{=(e>KO_3i(wF{TyPE9Dx;L0wutvDvJeWDx zd>S^UpbY_mYA#MLi*=m^q-5Np3#Ko1Ek6%1C|GW_#`Jk?YU^=3N{0{YALk^E$1X6_0`MB3l1 zVuP-T%^7c049HY_7#8nLxXqW6+rWc{vHiG zo?O5v-=l(FZ`U=NB4JbeF5pfnHeNzPZ^V!`IE5C&(n(BoGc)5r*kn{x&1_LOn3w}$t!u5i_Lpl>#Bif`Y zZQAPBrN~uS_u+uX$auzPhvGGCAmwehwJr=GA+AfDKN{C}dr=!2Q%VGqDhkKEwVrQu zHUOEBjs5jZ+cfny_b6`ocw%8rQxHtuhd7LUN@FV7vuEv`40-;?GK5=v-GWGRqx66&(G~l3A z5>q@Dg%!vj|NbSuo7@y+J9AVqgle<&Em$;AB&_cY3aLu&*^gBXaEh4(oN1BFz}y${ zL|h`dk_%GP^47C1z=!4fk|Ck2=S##?$f5~mrO&bpnVS!J=}u*hihBy;Jt~LW1~lvW zvMGaWtlEBs{(L`ObZ6E`KF-m)J(EIhSf$AnM46WFt=Ac#UBa%smQB?I8#hKi8+21z zhf7_PU}QEWO*-B`Ycchu%cd38Hgow$`wH446)x>nw=f8MIqKV$}W2R|zzq;uEP>M_w+-T-#*HTF$;_Cdn1-sQxWHkuOp`I5DMYm%vdz#EAGG>LP zmNjUXlD%>C>aw{WVSeoEs9&D&S^C~IGGduuUkp9A&ZD_fvw1Xi@~eJB4|eTkk&|@B z*eN)LUP23P@+LW8?E97{R1*hXAwY6M7d;kgOltRDB42Ep+oUU`mg%ZHTMt6f<2Ai{ z%palZ_}Sm)^VBiVujg^Typf0a(o~1$LU5#1;-!7wrAYgxhZ@Zl6Dww+yr|-vrdj=+ zb(&+2on9BfXFUbIV;hP)j#a}2Sa)vUDoX92xYf(xRw zv3gb|R71R8SC|c4D@@b;pPPF#d>!@ZE80^<&LO@t!nj|fd!|y=MSDaxh(8CsmmO#$ z`r;T5kp;h8DU9Vtnts}+$wTTRX(B165av$JmBtv-2)Y4Mp?XohX*^bU3bT-5+MJC1 z;Y?3g?>wbAF0)HAafR~9+XfCWdq&=nb=G ze;=kQ=7!@>I0(eV=1L-9U5eW)vFIq@5bzTh%?HgE2C!bfECJIEYH!fX;($syE$eZx| zmZw>+h+f;NCkB|ofN!&CZEDv@zzQGynalN&LcGUH!`x2IpEGOeN@0vL)~1#j!Ae9} z%2uk4Y2&E!${ijF(b30$g`URTimTS&jRR$x6E+jSD{4uG$3gj;HXm@E zJ&8d!UK{~ZNb);c>(z^zhJudjInP)1NiX(PpqbYv@Z(Q$+6%-B&lH-+d(#gTC35;( z(0g^^Zimn@Z2veleh+&nfAaeQ+|*1xE;SJ`0}A~-Yx6qbmrku2^0PNXnRXPL=k68o z6u^4X^(mI=bfgYhR~CcJp>N1Et;>mz|6-9eam5`vi<-9GMpJU|OIOpI)zohz9hd07 zJvv`x3!3VDzzQ?Id+B<$&|PCR+o_cx`z|t@0EeD#Ua)d`9D7peSwoM#d0yaZqiIoM^J5p5wA+NL2AgwP2~Gj0 z2?xXZ`Br9-X9MQP$2q?oDEdg<^yC@`s^Mq6=TqV;npIO*bWk^@Yg!VN?tcCvNZq47 zMh$l2Q)kIvDJag6NFlT+?Mop(UHCxCj!K9b*euIm|FUPQrC?lQ{Ar1xC@UdZ0TOJPQykg@7+h(~1znubyj zMJeJVrUfxeldMeLWlVm5m3>(^Vo{27a&|1yEq82J>!IbZW1r?F08uz*On>m8D~qPC6mJ6JnY=f4qK;|isLy&d)` zl;#gVH=ez6yF*g`j8pj>z&Ghul(3D(P+QKQfwWL+Xa{xB4`qIjdNQS6^&Y;#>*vG9 z+D&tPzgMD%x3?VL-r%|SWx=n|*)hxCV;V`K=>~I4Ej_}kgG&ovf?K}?KZ))Y1zz*j z3us>-JY)2mEMJ79J$`1Z^Nqblr#H{+N?6|R>T=li&RWm)WdVK5Q92J+wQ%J7BT|s) zBPT>=Xv>%b(`h5YZX-eI?K=ClUe7*_@uSnmzPm80&yD8?d7Wv6AK0H%XS`1aDl~Xq zd4J|>K0yFE+i-oc-|9;y&Tp^m=2w9YfxDYc$M>6#EA3Q^0$#(c_Z%UETaNu+j+#=^ ze1V?zvbkqP2dQfo52HfT($Z{(6@#CWS1s~S^)m)2S^9S2!L}=57?1X@L0*SurxrxZ zm`s1=_*%XD=&Ush5jvXaZ>0Z;|HAR@EeM<&kuQ+=`X+i&Qs1^eR1%+gE5_9pyP_=@ zUe2k#n}@=u?6mm$WR&i3c+7n%w5ErfX~4^x>|a;Hm-)z-v);VIOJW|;W{0$S(E2b_ zk(X-+Na8EGPGfI@f&$%rT|koPbfwd{{L94>pXF<}=^viNDs0lW3BBtP+3qx^@?ASe z@kx4jr;r1ywpa9D7I!2iC-#|4jC)5h2f-aEov~jb1*7KzC9$a;r`yYRd)ueJpLOYV zwFTv$lIs_~wPasmNKeTrKdWyIx`Y7t@ZagGgiP1=3oRJ*{ZjX_RAAJpQESKdvTDB% z#JCm^26ySzJdY?CsVNZ6RP54W>Iw|TRZVY9JvkzQnjUIB@_T7B9pTmTTuqzy+oix$ zE1(N1Gv#i93z7$sR`#7`QW)8dkkFtL1VC#O}KV4y`X9t5{R*gVdmDJo!|=R#pa z!u?JILA*{-1(2~fnVR<12aZDTzgAktE^PYVk9gB{@uUAbzl(L2Oak+AMH32DZ8k`= zna_fHv5OBzrIiq|b4L)}h8CYkac2#gp0 zoPEJu%FLxo_ZzM@?Fk`XxtCw$$t6PLzy(j-bVf7G?_>>`4?f0Tp&jvGemx9x{So*^ z{yD`gyw+?1r3#KEUFdXK1F^5cWCYBiAny4)jXe>$6zv*%^<@MSpdTxyhk_qeRz zl~%!KGlPJv9;vmkuR)4yrIDa(PiqT?^! zu74D(8fb$lQRfp#eVk=u^fs{!Ed-{A_>vb&!Jk0q@&hU zzc~fW_kocSz2Wn+Nbb#`yJ<6N>$ghhbDZqc8tV>};bd$*K5ACkTJ_$lV3f8ipW7Sz z#sY*Qfo|y5whah6(+Gl`rP=ct-vyJ2cdwrCqzSKPn{~-=3lnX6h5-uK24H7DmG2nP z8;DdMwN4wLT@wfc=QcW>yS-B7lS9}W48Ps&_?>Sw)you|dy1Bbd50Rk7qu{&)jKN@ zpnq)Ce;a>DYhv{DTF9q#H)DrAz{nsYbPh~K_lwXX%aI-Tl!eFmaC zpmqBJ{+NwNLs+-tbJ1%HBUU%c)7-&umFuXks_-s?HSA?n9>n%@etK>%Y-m;J`BLJi z-h8{3e&!czsal63pme0i7lK^bSkInV+PEgmNL(rpy9<`xds({mA~B>co#i~bSmH>I zEUp+7tmZr6?WyaljBWnpkzms>Q1~9iopUbOBgpByo^oWH(sDIcv%PJ?_1U^^z@p>N z7<+bUg|}I4OJxq}VU)p$l)BKl$d_Lf-(<<}-B^rNNX|c*&RI%kG*%93g0JNzo@$7I zU#W`xz(gv^q2z9Ao8`=Xfas4mq?E3K^gtjfa3hK$HY18m{yE z6Tf)0Q$g|D##D}kgH>16>Yabbgh^$|;Obo;lPHsXIqGv_iI9=LU!!wM@57~CeXBc& zpn;g*c=MR#OBLS94q{QIV-0UI5T3lP?6D@_DUChs;QM#n^rgNh^M!k_)7tr?+TXuz z=UB*UnN>tIP0;uJjsXX;@uGK5Awqsf)>9iv$CkxhU1;prayqj88*9t{#bSWSy7vY< zM(e{SetPoqdb6Wy8FPXx*VOzk6Gjv? zf2rv-RySxa^A+Ou&3V+Gi}2tv$@t9Anp=Pou` zho)6mDx8VjnWSDDsz$4XV&V$@@ks zr!3xvNSkFDTMX_F{Ssjw4ri!6bdDK0P}f&u+r7-3d+FqnPth&TBp~H3b?!V3Fv(*; z(N_#l%%|Tq;J1MqaE=>i+8&y%nYl~IgAD(USQ;#D3yr1JsWD;=`H8`T*JB`>hye3TGqINvqadF=;weP z;ByQ^Fi;+#rKk=ino=*;zi2pkZ>=9B$a~V#*Q}$>Xv!SZZ7Pv}v;Nxd77Sj-HEa4I zn1s0IYj+JEzdUnmu9IQsTt(f9I+KkZ=`2vJtnMOAY$~%$6uw?PPNQxw%wyIvDWMZ) zPokFR)jP|&^lM`CR@rO2EbsFjJNNTB)&0cy%{vN`O$Se7R)rdupj;l7Wm!p7MSB~o zQsANnFm%^jBtDE0VeTIqDVye@ea}9tc9zGt_$_!VMNt}KW zs(WdqL4FrSU_qU82%`$wub#yPD#)3w4!DNPkqXw3le<)>`Nfmnt-wB_1^0^T5XOE_ zi=Yoo>lPt~021UpklwdBxfapyg9=6yoxedAnoyIHsn;!&z-Xthgcy?ee?7*f(6~KO zG5}hfYhJa46F}ZTo3qQilx)aU0S!X23G0K*tRQKS91TcB&WQBz%wdP4v^zpMkwtf$6FM^{2&N&x> zJ!)I9o_YK_?)4wf$T)DtB3yZWdI15p3-A=7q}T$WS1-VAM0&f5qpYFs%-VTxr>g_% ztxMPE&eoev;h%;Ef+0G>miV}FZWrd;3y0M6Er3L&HE00B(#6$xu<<_WZM+#RFFkfh%wkG+1&ny?R;Od?*lsNp`qXg@rZ4FpCtoXk@nMfQ74 zL!g;&E{XHMk3&84eV-P)9po;%9pv}( zT29NEnuj4w6OL;SZWw>^vHIuA1gI$+;cK0w)_#0`xg?526y&Zpkh`n%S5AknvQ}Xv z)IFekglFU7!9T5rb7t(xAr@pY!uKgBfr8 zbD2ZmZ#-C2NTH8;>t&XY>9JmWc7B&IBIRFL!)7!i!b`u+f_5_R{cXS6cT*bBbahs} zBnTdu^O2U%;tXw9$rnSeccXC!!Qln-#Q4ecf4dytZfC=tmhL5Z;J|8tdZY=0Nse+x zta?U)Dniy`NS`9tu*nie(w`i`261+o(o& z(bwj4F2HNM1H;d!{y?P-#B{gco?||Luz2ljfj8M(uG1lLy^S<53ul)-q^x9@=)l5t z6=3!no{a;!f7)GLiUj;5gNs@oHL?z42L_0q@ljXvm!1}NE;QayO|@l+kJzq`D+G@* zq1K{`kO6FA6Y*;hGC9pZulfr6H3nC?0$LtGspu%MtPIBQU1cZF zC(z{1`ktONppQ%p%19g$GX0u$+VZ1zQYq*s@1I7`yvy&CiK#M{y8(5y8qZUAE%b1$ zVJ#6=x%Ac2u0swImALT5=8O(~=Hk*WB$MWl<=oFK=z1fS)z=1f?|ZNww_?(iLNPAE zRG7e58tmg$jlk~$u;sAgn{hOtlRihy{~xOo2dGnJVlpvtf&OZ9D3M`@T3eM6Wj&Fo z3O=^^P=`tm!t!sv=kM&#S4zLIHoEW>ZR(rTic0JK<^O45=(91gtzY`Hj}~n9rYuYg z>5s@_jgY3f|F$pdV0HZ`?*FvQJ@^f0Zf#9V)!P1SJWb7TrnKUdNmiiZogE!J@{#rut^$d?$IQ67*;5=VL<&?gLZsAG+lC6b{p<*Q}Ue?7?W3em*9|f8Q4=9y~Wri zB!Y^bVz$Igy@v*O@-sdOko*(Fb8}b0Q76V503&_?VFs=@EztGWnXIKhQ7xe?=L>aOF~WcO;4miNvWqN+v=gKfv4}r|JDO+SLQY;q$tZMU5eeo9zoTkEtK# zh#M;f=}s()7kp4tsM~40p~$ffI$rTMV3$hp-oIMr1)@##kfJPR1AGv%Mm*~ zfH9@$2wi$FPq;Hf`ZGkzqct$uwNXy5}EDNA^L>~CBBoEv8XNpIuF%PIlU7=F?8>OL(w0b(^y54^l0ek_TYw<*!u z$i7a8E#)U8AWn&`*4cayM20(|+^_HdFyNg`)Y}Uk;rbJpEZCrL*LVpYyp*_a?azuE zi1Gl+@03X71|Z@DCi2)w4bNZnFazS{iB;oy3+Dcbu|HbL;@jE92h#|@6g-0Z;O93p6631p3o8We1F-u zNXhujpV#*pTL7pP&=*+>IQzDgoCwF1eSg)${+(};nfB>l^YsgYjQ)m=L{7=zm_R-B zo_|l&U;z*!+37y%(p`x^K)8+DhkbX!0p%27o`f_1#8Mt0IvIBw`$}qj{OjNErGc9Z zB*Y{z$=|sDiPAa1EdufPpZxEj|5xeMPjYRj()FXO(oS+N9fX-F%(+YSc~^|_{W$b& z_upkcW574&#`*+?S0F3MSH*w%^|L(t_nQrWI4m+yYpO*aO(tvAKaBMjx^p+%=eB6-s$E=1b zxx^)dFBa1GIJ2*}t8!l3>#8u-eZXH59emv4-k;a*7+iXmLwejfhBXFVrci}#B+)S4 z^WlFVzxUY3Z9LDuU1|TNm$BEh4_rGsng%w4SEr4B0`??17w6N8-QqsP<0*l1%A=)n zZJ|v*szD2{h_c@w*Ak{1dUVy510RPsbqV-RGG{K^7j>V%pGNFG{Nn2$0?WZADD%z4 zSK&_DFL%>gD{P(&rZ4CLLpkr@QVF&5{#S0eLXwS0<1^~UdBgb3qZn2C-l{Nj-^M{f zm_+Ht<8l&8*Hd_W>9rQZd114D$wV!IzJD0F-abDmTlX)I+=uJx&VnF1)en^Txseeg znq95KsXtem-k}=QIOodra^w#>H^w>U)K(-xjb4W0I-vMhjRr98 zcPZdGTltGNIWv#0$C0$~#VxbWpz7D}Q+pkpSz)F(RIWjhwLN1g&&+*Gf|I=i_7|iJ zr%=}JkXAj8^#fOD{TuSW?fWTd+YR4ehLSvd{cDvVwzsQ9F|XWAy6THGrW}tpDffC= z`@*qocaEBExL>?ZVhQwcJbqA0t<=kEw7=8hbi|_B`cKin*!M#s8u&zI7Q;tC4#Sue za@g_L%79D`uy>r>v%UeSL_jkPm{zC4b|F=XO(Ne%oPTKE*injL>2mf06>12)+ z!ZroqPvrUEnC%h^0APY24!F<}-fymst#s|U#V_pprlA{?&@264e8HRTL8z5Hg_&uf znl4&O{vUw>V5D+bUPvY;aPY+Z-C~#mx55P7e@qJE`hVtO0aqIVEQGf!hXAp|A*3t? zJQ6^5AuvlZ3c+e629{|cV>v{DctQa@us5&(z3aXLh#SBs$$=~AMpa<`wRQq}mq`WT zVx2~ycLlY8Sm7bUyP)#EFJRQELn2fU09TC4|Jdvhl)CBla^T^p44$rjF6*2UngB*c Bk@Elm literal 0 HcmV?d00001 diff --git a/Docs/双目标定流程.md b/Docs/双目标定流程.md new file mode 100644 index 0000000..45a94f7 --- /dev/null +++ b/Docs/双目标定流程.md @@ -0,0 +1,68 @@ +# 双目标定 + +使用matlab对双目图像进行标定 + +1. 拍摄双目图像然后将左右目图像进行分割。拍摄和分割均在`catpture_photo.py`完成。完成后图片自动保存在文件夹中。 +2. 打开matlab + +![Untitled](./image/Untitled.png) + +点击New Session后Add Images分别添加左右目图像。 + +点击Calibrate进行标定 + +1. 标定完成后Export Camera Parameters +2. 获得标定结果 + +![Untitled](./image/Untitled 1.png) + +```cpp + +new_stereo: + +Mat cam_matrix_left = (Mat_(3, 3) << + 4.869084743604942e+02, 0, 0, + 0,4.859921620798602e+02, 0, + 2.813183643903652e+02, 2.267657091677993e+02, 1); + Mat cam_matrix_right = (Mat_(3, 3) << + 4.859133331805883e+02, 0, 0, + 0,4.850356748771951e+02, 0, + 2.970046483040089e+02, 2.324763397214774e+02, 1); + Mat distortion_l = (Mat_(1, 5) <<0.121235284781974,-0.161097849662596, 0, + 0, 0); + + Mat distortion_r = (Mat_(1, 5) <<0.105479235005840,-0.120347246815955, 0, + 0, 0); + Mat rotate = (Mat_(3, 3) << + 0.999921984818601, 3.753847738839353e-04, -0.012485325894835, + -4.085449515452996e-04, 0.999996396040715, -0.002653487630467, + 0.012484284819374, 0.002658381435011,0.999918534502034); + Mat trans = (Mat_(3, 1) << + -60.319997608188590, -0.019664800882533, -0.638993708428792); +``` + +old stereo + +```jsx +Mat cam_matrix_left = (Mat_(3, 3) << +4.809895643547006e+02, 0, 0, + 0,4.807599168204821e+02, 0, + 3.362108165786334e+02, 2.298502481932070e+02, 1); + Mat cam_matrix_right = (Mat_(3, 3) << + 4.903260126250775e+02, 0, 0, + 0,4.900310486342847e+02, 0, + 3.230124997386542e+02, 2.346297967642670e+02, 1); + Mat distortion_l = (Mat_(1, 5) <<0.113688825569154,-0.106166584327678, 0, + 0, 0); + + Mat distortion_r = (Mat_(1, 5) <<0.121425307936153,-0.141892782717707, 0, + 0, 0); + Mat rotate = (Mat_(3, 3) << + 0.999996295879846, 8.723884080433472e-04, 0.002578209660240, + -8.682590894537506e-04,0.999998339366207, -0.001602308016931, + -0.002579603213718,0.001600063527818,0.999995392711370); + Mat trans = (Mat_(3, 1) << + -60.348359844102470,-0.030699794141365, 0.495248628081046); +``` + +注意:拍摄和分割程序在windows下完成,在linux下拍摄,标定结果精度不高。 \ No newline at end of file -- 2.37.2.windows.2