From 6a76a9ac886e4fe88a05ac97ecf8989233b19574 Mon Sep 17 00:00:00 2001 From: isaiahrivera21 Date: Fri, 4 Oct 2024 18:18:10 -0400 Subject: [PATCH] Algos first introductory assignment --- docs/algos_a1.d/AL_Detected_Green_Circles.png | Bin 0 -> 15277 bytes docs/algos_a1.d/AL_OpenCv_A1_Image.png | Bin 0 -> 16607 bytes docs/algos_a1.md | 81 ++++++++++++++++++ docs/contributors.md | 1 + 4 files changed, 82 insertions(+) create mode 100644 docs/algos_a1.d/AL_Detected_Green_Circles.png create mode 100644 docs/algos_a1.d/AL_OpenCv_A1_Image.png create mode 100644 docs/algos_a1.md diff --git a/docs/algos_a1.d/AL_Detected_Green_Circles.png b/docs/algos_a1.d/AL_Detected_Green_Circles.png new file mode 100644 index 0000000000000000000000000000000000000000..367d4007e341656a50877416718d8f271410f24b GIT binary patch literal 15277 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 literal 0 HcmV?d00001 diff --git a/docs/algos_a1.d/AL_OpenCv_A1_Image.png b/docs/algos_a1.d/AL_OpenCv_A1_Image.png new file mode 100644 index 0000000000000000000000000000000000000000..10a074481ebfac1a26a39de328ee3b7c37a94440 GIT binary patch literal 16607 zcmeHuXIN8N*Y*KK5T#fU3q@=wsOTslUn*SOAqlR6wLi5$RGC z=_ElBQMytBQUW41Kq!F#f#lnVc@mxPd#~&J|6b3J88v60z1LprUiT_{p9jWJIb zgdhkK);)K|1cLa%UwNAadBGo=GUs`~A3UBWI$AuPUk>5GKi1tkci9ty)^CRY4w_3U?91k5g*<7rDmfw@C_mRK*sj=B(&CaWr>>KCrqI!#qdk@qvicp$V zhnayIzWS`>#rbKm7>Qx#N}x%qNu~%8$kF;d#0No-*YE;K@Mpv-!Ebx-Kx-jr*TywR z!9O1C!h>C$Tf?&fNV;3l7W}m7^y({u|9$1Z8v9=W7~@B8LPgdics4nBPy)1#GF$?+kKNA~>_&EC z=CdoHC?k#|W*kyzKZNsbtiqvYmMfGzDTj!qZ{7U@7)4$ruQVsM#_d6E)j#5@gQLQF zy8P$$7&|*Es*VuQ2-_(hL~Ot(RlcOB>o_zaOP~+wwG6SEX7v&S4zp|Deo8GRPIR*7 zyfd2%di64o6dz5rZY^mm%UNrW?#^LIGljd|Zc$!nHSr2^so}o4lOSc3uY5bnW^dyud)6Y zii0xWdyfWRlCghe`i5{R)|8AkXCuldmFz!nEEnzA171CRj-!W;-CJK@x;0P`A#J(% zIS#Yc9{sv6J+?UB#CozVkW{_GpkXTy?lGjce3PT^!W-`AP@q?Al#@m8QO|GMdXsS! zPwa|errG}6ZRPH%ftgb#Hwc<5Q^kCmM+~(RY8+ZRn?0dgInH8{H!%#ucowrfy0_Hh^V=nxvf`@9 zqs9{)62ATDE8&IVIzIFB+-)5SGU@-6F1KR$z9CeA^kl+x4lQAx*8L-pVzDGcX5ZV) zIHejf6SrP7bu)*umHVH?sPvp*2dnrjI20vLhUrc=EVt*m1bp)uc+@p;uh|mnjo@&7 zzI%>K4k?iCz;IwaTT}^A6);^07|s7Nq8K>Uo#t#hau}j^353}9_@-(z&KB7DrK=Mru- zqvw$bf$y9U$E4>TGVObq5oGKo$tT&Km7c;1ZFcr20{uc}MS42Xsg+x~(iGBgL#LLi zaDjO)O-h;X<_+$dylGu9n??IDd#5IPc5ZM!%?X>vbyvEsklbk&4x$0aS|UXVK_%kt zTY`!C)O{f<8L$g%O;YA=q9OL=1cQ9SuwEoX6mjpd$L#Dt*M9wNb6=XZ@jLc%fTVPz z{ewhPoS&;}UQx4l#+J_X9g0%e&c+q=I>efcgWRP}J*vA^(yLXC*da zyxS#A%7c1OM=2mI7y~bG$DA$M`+20e7&RXiU|0vTD>GvzHA+%8Z@IWtBu0HHE+j$5 zU(nc&1Bm3>WzWUsCPQYVI(F0xs1Ju2LwC(fih)5&+(EI+SHGK+eVEsa+%O}ut!dpa zmv3e_F2Dd5<;l9s@gcJiz#-V7UZcY@r6oti{e=p1%*fOS8YB%mx+ktIB!SmVjjLu} zx7Sv_pG*f@s+OJi?H}DfXAxHBPn}!=Gs?$uXDkb`@t=ArKI|aiKOS>w(54R6Jn-^v zu=FM%Uny6N_^A$LKjKe#5LExT5*qbL)DuN8rfQ+w}oR9M|^so?<|OM2G+9M_#bi! zepui<_jWowEW0ZO=xQ02@WrZt^2)|KAgGteOpLqBL!Mg+%Q2k}?V@wv6vgF`rRLa-g~dP3;RpF@RN`Wt;!edn z*C+t*UL)6={j)B^(&aVoU|c_U17}Od-YB?@;0(&LE$my z>OE=LOp_hkHW_lnyK@;uG7auc$TA9&<{h-8RECfO>q`YN`v3t!9EAvKub3P^zxeHW zr;d~Dxn10!SE;YZ{#x1Bh^E&2*DR;U_a!2+3lG4?-fZINyky0t9TBZ;6YoB-v2Y*h z6npLizsz?#FQCgnu6P$)P?%*)Ct~b`B|y3t5n#32Ao|gccPKDSpF2!L@sMwSs9WHE zb(1{y@~pAVZAc4-`L3DDmWpf@63 z`D`DD$t=57(gG)95Q!TIyg!O+S^`ji4Cy3WK$ed=26Mh_f$$j&Q@4s+)v&w5px)-K zflHADLt(_44ik>dSJ(T~2SZ2^8pxI(wWv+<#qXvjmS~t;>3p!zT$<}J>Ah4sbzL#6 z&Xv~Tu<5W$-V{YUmr@qM1`ufE^1J1k+~>^CgzMB`3E&JuM~@$0tTNROhtv|eVr_Kj zId+vr^wiG7pFehEskyGkW}`oU^B0al$+IhCPf)$eKZne|zqgorX7Yyq#xGHl)Kmjp zU5y)nz23&m+Q&yTuccY;r;BAAD%}?(gI-yjn$Wo?&Fi&;qwEp=x{HeHgE0eRAsMKS z`^$PkRK|i{UM>ObPK}$3d!=ojJZ0abkqv~ZZ5w=$t0LoPIU=q(%yl`#*)H~C11eZw zh`=k~Q!||4H`Y6#od>Di=4{OC(Y_o#!Qy#HurW2Wc!(f5kTnfpsK`Fa^xHBz{ z4Ho%wxE7_-e7D)Shod%Gc{!xE-zh=iHm-;5F7;pfh@|;?kBA%RXe`y%7*QCT0Y>b& z(##YV6-u+aJH|Cdk=ijHp0mZ{%B65<75i1b8WRg9pC83hN|P-#y?0J6R4RnWZu95= zRT&>>(N;t(5YpDS2#+>vCzXkJg|bWMU-E@WZt)jvzRC@OX;n1jq2q_>f*Hb1X>u|? zMk5=!H4^U_Mp!;3 z-5i;K!vrulo@;~-)rcmn-Our6g{1Zku^RN5H?XRI8&DsARuNY;SFayhke3u8ekC*- zz0&g-s|~EA9L=4kzT`_y@gpk$%+|Doa7O8ThAvQCoF0d~)cQtCjWF5$3Yq%y0DT74 zML!rq$libu*xJgW+<7W>CN=&jwg6Z%u6t{w)a$?S0-onAXC7s8m=R@)If0b|D-qYt zY9L(m!h>yioVg**IX5N!(ZNTbLu_~o6%i?{`LCv0d62RJcZRwYMP#6R@p@{-^7>;3 z+E#|MLN!WSc#_dj+%67V#0}n455HX8GzRG8VA-j!b3=RF))RO;Kxglt?ncKu9Taw< zyg}mC7>2d}*ug%8c_b;6XO1Y`R>1l5swWzHH|O+H6s4lirLuB?vf#%qzl;&a3Io;5I-NZ zC*jnIa&3@zJhocATzycWTgIRNw@DIm6Evoq)NO#m_x8x4*yFkZ36fyMM(#2R8Xk-% zrG)Q5+*frPZNAigG;EQ39HTnJ)t0K_O0^jV*#2CZ3DHZp|80L)m>|%V3Rj~gT(^OC z{z76!+^=aytA9OG4f>TCS`&@TUvB8aD|=Uuq!^ zEi7I?ei&FEk5+gs-~G1dMT2ky2*hq&=0cbJ_=@ULqkjUkhRtp{VYY>{2j39)h;TQl z(%rBbw%u7eCFc7v151 z4*Y#BclSk}`x94cKX(FwX%5Zwer1R;M2WEnU|IfR%Coe2-ins0pCEY{k-0pf)K2lU33>a8hZTNzPxZTB_zC7Eq&b`Sw znaMzvt9Xkd);#4>y7Cn7QM2f9qW{w99yx%QUv=KhnYy8)s5onsQdzW{3b5Dj7i61*!vKQ0C*$M z-42nal9EHfvJbdrgEz8-_9Mh+HgQwN9|9Wa4i!-Z(Bioh93^MO9ras|+am#!us&(D zOJ6d;0J!fBj+KnjANfL3(ZUGckqn2H2+?vmy5O(3pEj<$WSk0cYl`;U_4~A|4+zBa zp>G6qha7lvgtOq&$%i^PZ))>Spz+%2uNFo~%+Gs3AKdI;x6G5a^x-uj5fI>k8fhaM z=F4-LARC@9oZL$P+Y6tXl0oJX5imffsfKA4(E94%GjJ(6au0`+@jp3Hb^qumef1LT zt^FW+NiM1e9ZZp2BmACIjz!!k)tVeBO*wveQu9uh*(LLmfP5&}mSYv&cXFtJA9sdk z0m;`g%EuFnCRE{_AK>h7)5NEAw}llS5-c6%7lG}KQn8103Jq`fEk#56s=<@OVC}6sET;04h;BYxq zOLkjQ-dtk?5d7QX%G~@WGLM_zY~tiM&(Em)k3Ii!KM*8Wi`;;ysl}n1h#M&~s(YEY zz2N5$o6;xMe!79YutH6Jg~=WEZNbuUJpYaB zY&SK?RT@tO@^0XEWg>3$@&r2$OW6u?T6NFQ02wCYd4+!)GYOB8{(a2OmGRS{@d!9? z5Rf#t7&kVetUQ-4MLyrWWlKczJTzXFmR^bm`}nga3g zcfeSjTFSNz>4j5PVtBpA==cg!;$MjM8E8>i#+IXC%+n(BaPzMaM!>m#!)#pPRJG@E z4fQ+nK9~C~)ESh0zw6-X8+Y^z8a6dik2fwf|8LP+Wy_(2*q0H(SnodnQZUD#fM+b8i zdX;Ve2?$We4&H5Jk9_;`>AA@|kd#?q@?`E^sWrS1oLQHxi>M)~dYlG6TSJc{Hhg?T z2AlzzZRXj)2@k59%wqTw)yG%+N&Jwp!J4D3h?7i~p1%!9S(=YgE@AsmYm0(h2g=yb zyDk1Me_PGEOOWRFHAkI~E-(sr;m!~1T{2u(( zyNL*T%fa$)X%JpZKUMhBqeYfIU?oIttjvG!q-V3D&)S^n1rj*hmh;u$#5<89-Hx^+ zva188o*iou$(4x*;&i;@vJ7M1R9c>y?}zlN@f?;v7IzIFqa#1IS!@j(QyHux6J^m`t*yng=aj4 zO#eiP`22poXHM(aN((YgVl3$Hbh@n7sv0DcB#C4eaduD)N7%3+7Y&#>`q)M`5h z#yL>`|D41_t>74fHu@`qKArsK@DSXt?QME~Q-Cb$BYSjBM51}TN977Eq>>g?1(M9j zJVe281nk^W3*A>Kr|8SD0d~mZ`&SNG62>F>YuXr7;LXRV3neZ!2gByVKpMRI^8Z`{ zK^aoK+m!o*_!R?H*`;35pfmOOP_=h;-574p%@xTDsf9zq20K+27uuhIZR7vC8Pj|H zTZbjA0mp~nQNYi^5JgwwF7rgtZGQSPQqekpsGLdj(u9F*0FZv!uw?eRH}f^%v!^fX zHe0)C%oM>gUjZ&saB60zibD0d`l1OhyEe6K*24Pd018TK0k*T!F_JQsd?HHVbwv69 zxiXQG4tsPfXu!o$b0sF1&r;x&sgSlll<4y@R|jO~s}H57o|K2zPqb|X)$H4G)39P` ztOE>tmra$;JVwO%k2rf`tgDyYQRj`-^FKs|kUgG#Hn5Hgbs_DVcy8L|X!@Hw$L_-? zU$^m}P4&EplW+N{J|3JkT*vG<|6cXZJVV zWdUY1%l?(?Lwkdu;EZ1e%`*B`kwNQr<7Kl-^@bBbldh8}eJ@z#1}ZYKq(P}`?z;x? z$X%z`9QC?`Ld?{4A#Z_JqOrlFfScXv?3Lp%zQ63oCwu-K7Z^zWEDqr9eFMhXC6dD$ z=p!fvhA(xOEwq-(`HJmOKB$6Z56c$QT}P$-1);|$dAF&B2_#?j)PK$xbq~OR?hUl- z0a$9ks8$tob_zH@$Uz$4f#$bqf@&`I9NeorvluNzrcFn~-EV1L2#)54%AUP{&w8Nh zy;>@#ME=#wgWz!2$jH{g`gJ{yGaWS>ku^RDD7$6|i*duku#|gHtG}g zD~-S(p}xaliV`>d#qY-hG`9Qme{=~?XAu9Y4~PBN7c>G+{!)41l{Cil6Z6ji>Y!fG z!k26xYEM{bKIUC6p)Gp*WMqOtPhj7KL1!AgGCV+^RT{|JUSQNPIbwXn(TbV9m>ptM z?9#*ogL<`%P?6skq)43JF0toA)xR3n5VR9yuoqiw{Kl6HhwYe-wvNWG7g)>&q;%;3 z5q{q}9ttj5nW)Z;_F1$^%dWefc@P|j&wg)YH#f?Nz*|GCvlX=c@s7gwt85$nQ&>Oj zK#{nS<yzC?mu6L2eR;rFjM5OME4RQ1@LTIH`du)4=SbSv9#8SD8*Hj+#4SRuWFREypllfQArMX%Bql z`P#JenSiXuK&5TOXX^bhJ5)~5jIkv9k25!zfLnC%^E@5j4e3K zkRr*s;!wFcK%+0RG&QKH_(j0DbPbF~xM3;(`JIKdIRb?H>+b>k?xy_AACsTBhzZ1)-$v{%w6k zb+DAu0dcaND;6_yB(Yor&1NH?Th!)^zGgGciWX7(mT^S;GB?ZU8I&QU3=mO$xyZjW z(9ayj_;Sc zdyFfnxI-9k41b7CWERD-W^SJq1&0x(C5#q%k02oUSSyM;{v|QCxGBEOY(#4Bl^y<$G=IZ=Vy4+i`AAP|!PO8^WsxOYpUU2Yq`Q0|yA)!~f)aqdtR55HPD_{tCyQC zYokZsShu*!c`a5xH`De6r}Jxe;gf|b-gxxKv=}OaR;;v^$t!z%EQyv_G}(&;Q)pcs zyffERK3T1Xb;xTq&%P@4JzGcvqCGq?c{Wq?|pIw$)zD3q|Kif1oi&UR5 zEhTh6J|hSEnG4hlq^_c2Kw*NfOI#OY({nE~mvg+U_Y!=b#@IVXF=tQa&#T|UaiRoeZ0 zi}ZjANPUW-{IdW^7n|6#rFo4@TD5UbXH5NbCu`K%*E)(=2ItGVkq)oR*xx?L3kbK` zmCez7KKpgLz~?ub!*IO~j?9bG0x?64Mz6}t4m=l8cztj~Vquf$pQu<}zsOx*&rjrJ zr?0q9tS@e3QHfHI9e4ORlUEuI+tBL>Yw(SG@yTO|#qXOb{(}|u`OWGX@g>1C~P%ePLTNmuC|EVUdcQq-mWN8i(qRODkFgzE!po8(!x zOc`ch^oN;Jh5fjyous&fEtoiIoj_!ZQwSh)_~<7`m65Ahkw1GpX6yEP^(|LI%NxHB zyxoJ{=r7n`*o5;KjAY9f%F#21XI||nn?E_j>|~XLV-L-}yxSa`Uk52BsLWcS`Dbx| zB|27kE!eFVsA3;1RhS9p3~Lh$`Cw_2pl@?MA}q&f(ZAOb`0z8pB`$AHUtz_5da%lI zVkWLwY+%>DbtxcF2}UKoTbj;pKZS7_+1{4pmly6WwfJC;avJa>eDksOZF^C>Cv7p@ zZ;y?EitlbUcOj=x?L^Ap(<*HDw~;C7vGa>X=D6~bi8dWA(M9 z3=1tFXnXFNdP4ciOb{}A=j3wSl@rG?hHOQt!mh92j>YMAGVP&yV;x~Sa74E7U>A-d zeO>WuC1idE(%#gwKo_>iU0A(kMO_~+0-FzW2eCrv&+GYOszU%cn&56G{H zSJqk-&W)-QsiW!P@!+IiTxaFepJ2#FAiCV$>`40HO5}MewHQNWV6T76@99N+vbhrN z@sSt4h*Y`ukCKPyP|BHeU+c&k0j4A3U%tI#J~+%w1l1UPoO8R_n)y?Se0b&h)iWTg zQ$BJ$h1HtVc+!P7og8BPwLP7-1c?xKKWG=2TG{||emr9j{x&*pap~{GhUICh_K;n1 z?Y-U)YbQcy?%Hf$mZ>702rS>2Tx>l0-Nw&%u$7%P8yX;%X~qy`TMYEw)uOEidfNeT z69>066)x@Qzf1jul)s*bILk)u)l{;g)Kt{|VQT(%54Vc^AM<&UGcL&?do8kvZ-(8Y z$qZ>p5UzL1;cpw143u`|#W5*v<5Nw}q@`xdr@I;USSq<_rQ?x<(b z}&4jQR;y= zsG{MN;Q^o&Q{_|3%VbaL`RZov1>CD|1j7YyOky%P-J4S8+2Fh})KUV49Qdwdp|NbA z7}P06rJ5uQROgvR2Pje8+}SH-xT)5S1I%~yb%^`l-z_V$p9Bm9H7j(KjJH?$OEc;~ zz6mnXwM8YWp*F-B3e3((@|yg9`bG)f3CFS1z?(u_{z9^s)B0J`$(UF7dGQS|;(5 z1^OZwIQDZaJW%Fj%#3NBg>7Jur8W9b4J43@7Qiq;-6+hE2 zmhO~ZiCtp2Oct>F_~I|04f343;O)L|lV%XOhHq^5kb3b5VJOmsco@(EaKO5Y19^Jr zQJ`AQZ{YHJ#vgE+0cb@#FX{S~d1U%c#%55)o&)!*ptjU^&fj7d?ec;XPS>=$DV31F zShSl@9>lGF|B)2?lcjon(FG+!xZ^=THIxoVXd52*1P99cQX4?*nx6q3Ipas4UWiPv z`oSUZYB>g(r2YL~yw5s=usDftjDxDaow)LviWI`>WiNE2wS^P&y- z1pwkxJ%~@U?GlUZ>ABuM*yi-&+pY~Xzi~TIp@JH4Eq=_{5k*)CuOW-i0=6TX?eAjJ z<4lFELF)?cNJDMOTyWmcV)jcYP5Nqr?gKa-;7L+@T}BI`vfR-l;%D0I$k)rHd|f%u zs0o#JY7glr;aszVgh>&Osfk%3`i342VG+(pcxBo(gB)DRXCJbPG4G= zY|$K3q&D$gznBGU<`EF_Jb8YsN`Xc^3dArCe-nKI&SJ!&2YY}R-*RHyd&X{B0EIe? zsg1oJ+L#WCFt~DuYaDQH1tY}sk(T_>! za`Ud0fng^JtQF<@rA=-t`3O9J{{#dK@Xm)HCOJ~PVj3dNy)Gas)$avf^}W`<$) z&s$%`LxK`C<@D^{Vl=#gIsYTk;+m3qL0kMT@EL}g8Vw>#hime!k%jlK$`5iT{vEr( zT_z~15m8xKgQ$c~uPy^JG6JTT4ofH86+V7!K7^~$;+X_m5g`yYBJP#;8?^tCp^XoD zh4BMiOE&O`Rl8R!h)b~hpPRV4j7WJsGQ&h`Bvzyxi2@yl zUGDI1c`SIyo1!7Ud%I!K{ldA|qa)?gEfbZVu*Tu9R?KZ1>Zuk;pR-_3kDl?7THjIM zz_R`SKrVh>kHt)>ZVT0F+Lh(yN$ZtKe8&pN2e^C+zLC-Np4xHCWn|`dRk_sC94s{W zstmM{0!DkIaOL2B#>+8Q^6btKNmxbTAP>qANu6&CW#1ZKVhbbg34WWyG?wgZYX(It zd=Lr9p?j^>#Q){`S#Rt=d1t3vgD%P-wT$8r8xjtVZ{b5-$SmwfnYbRy%ftE@xWH$p z>)?-DPVLJV~{$G4pBdI*P!NAKmO^$EWoe zfvb4%u{&h8UFWL#3p30B;9&H!xaKXGDvhWq(Rtt%5PPi}_83k8PXtoHJ`(iMDOz!5 zw&whVla}b!78BtHLXFWCwi4*t!IPyc9nZByOw@uG-+|=8QQF-RfZiE=nwKOWB{Wf& zn`nHg@F-oZ*C?&4onTn17WD zJY&!40bxj~-w@%1Lm<&^R)^p_Gf<&zn|5?gKtJeCcO-$}WI2xn$NG@67O>Lc1B2~H z2&}((Kc}O~Zb~PC3Y87P3==ovX8S;_G98v+ z>@vxmOd++L9KpkDgG)$|W9@ebH%AP8rdi=>h8^28)&~i^(rflT~I zp8`G$*7{K7d4>InWY$tdGJ5aXfh4}NaF(I9JlvWBDLPNm+9(ev3w_p~pxKff(n^FA zEy; z$@(1vGTjsTZvSLda90c3^zxnml1%%lIZCpFS@96Uh+0OAp_1;xdh`H%c0^+LL%zBMToSC0YEC^6YFUC983lG&wzdW z*z$}}^dr|z{NfQo#49!M6%Os#{8Rm=+aQ*TMS&Ui$`=+FX?QG_;ku>#&!tiUYglUd z8fGPfD~Ir1%C-2Pj{h#pT_<}c9_Rg5mO~GQQu@Mll_vc4$rlo5-YaT`fpAqB9Dc`A zX6f?PwhztPAL_iQl!?c)Z@V6WJ6Z7cR35xAs7VW(^sgKrSTb=n7&(0P)!T-Ksv0F> z{n@ruYFsepm0#ZU=n;gr5s&S9Kv9+D z;ujBFAts7l6p_Xj7F3GdD--MBN3OjNS}<>$LLEN<;Pc%V&lX%nE~d|urG*iH>D`nJ zG@k8s02vnOIziWfHSrA7OLLz9_^ec@jV1wM6+7c=mC>DppN9~JhQ;*t1b+M_K$x~I zpgt|b>0f4cHw202h4h*b^}~4#%3n0w4Ofv>ZvE4t;$e~IseSt%9(^>BKhW4{uXSMe z&eQUK55}*AJQP{!k(w3zx^Lh8q}Bt4g8Mdgy|6BhBKVy9LyoB-s;KC>t(U=&Mpka8 z7qthtCC;N0!q*~W69&=ZgHev7Scf^?;r4+v2c9Hd0Hc!yU-NU3#Bl_QxMILW2B|krPc5x`GKJed*&wpbfaEg>96jy%^tmM7_~lo;786y>B4e! zYyv+X7YcOVSd)P>qY<+h%2Yzw`)HMvtC(Yqt#;{F6+J{O`t3u<`D>H>ecxasqb|@$ z(&KI-MB+|KXHik~pL5fGFRb1IJwnVCLa6ul1>CN)UoJ>`Ps_`VT>HyRX+ho05+s3Xcd#x0?e rSHOf2^v{RT|NZ}eHSoVy16bZi*QYvgp@;MV-XYzyhG%lMZ14OZ-0LP< literal 0 HcmV?d00001 diff --git a/docs/algos_a1.md b/docs/algos_a1.md new file mode 100644 index 000000000..1e8ea4c17 --- /dev/null +++ b/docs/algos_a1.md @@ -0,0 +1,81 @@ +# BLOB DETECTION Assignment + +## Introduction + +The supplementary python material is so that you’re familiar with the +language itself. This tutorial is to learn about one specific library +this team utilizes often: OpenCV and a common sensor we use in our +projects: stereo camera. + +Why do we use a stereo camera? + +The primary reason is for depth estimation. Let’s say there is a human +standing in the road and we want to stop before we hit him. You can +imagine it would be useful to know how far we are from that person. +Stereo cameras allow us to have this information. You can think of them +as the “eyes” of a human driver. + +## Getting Started + +### Python Virtual Enviornment (venv) + +A common practice that most python programmers use is creating a virtual +environment. This ensures we are running the correct version of a +package regardless of what is already on the system. + +To create a virtual environment use the following command (you should +already have python installed): + +`python3 -m venv venv` + +To activate the virtual environment: + +`source venv/bin/activate` + +### ZED SDK Installation (in a venv) + +[Download the ZED SDK](https://www.stereolabs.com/developers/release) + +[Install the python API](https://www.stereolabs.com/docs/app-development/python/install) + +The script to install the python API will be the ZED SDK installation +folder, Make sure you install it while your in your activated virtual +environment. + +Its recommended you at least install the sample tutorials that the ZED +sdk provides as a reference for this assignment and any future projects +using the ZED. + +## Project + +*P1*: Use the OpenCV library to detect the big green circle only. Draw a +bounding box around it! Break down the elements that uniquely identify +the target (the big green circle). It is highly recommended you use +[this function](https://learnopencv.com/blob-detection-using-opencv-python-c/): + +![Image](./algos_a1.d/AL_OpenCv_A1_Image.png) + +Output should look like: + +![Image](./algos_a1.d/AL_Detected_Green_Circles.png) + +*P2*: Print out the image you were originally provided and place it far +away from the ZED camera. Use the python ZED API and your code from P1 +to estimate the distance from the stereo camera to the target. Print +this distance out. + +**Helpful Info**: + +- The ZED cameras can be found in room 701. +- [How to use OpenCV with the ZED](https://www.stereolabs.com/docs/opencv/python) +- [Depth Stabilization Parameters](https://www.stereolabs.com/docs/depth-sensing/depth-settings) + +*P3*: Once you are detecting the proper shape and the distance from it, +measure the distance using a tape measure from the left lens of the zed +to the object. Report the percent error of the true distance (tape +measurer) and the estimated distance (your answer from P2). + +**Note**: Note: If the ZED is giving inaccurate readings that is because +it has a falloff in accuracy at close ranges so try moving the image +back. +https://support.stereolabs.com/hc/en-us/articles/206953039-How-does-the-ZED-work diff --git a/docs/contributors.md b/docs/contributors.md index 56c381fd8..452757160 100644 --- a/docs/contributors.md +++ b/docs/contributors.md @@ -4,3 +4,4 @@ Here is a list of the contributors who have helped in writing our documentation, huge shout-out to them! - Jacob Koziej (EE '25) +- Isaiah Rivera (EE '25)