From 78c2612c7d482843f9af28b3f71a48b235b64f3f Mon Sep 17 00:00:00 2001 From: papush Date: Mon, 13 Dec 2021 08:59:59 +0100 Subject: [PATCH] initial commit --- IMAGES/blob1.png | Bin 0 -> 2106 bytes IMAGES/bubblets.png | Bin 0 -> 75379 bytes IMAGES/chat1.jpg | Bin 0 -> 10649 bytes IMAGES/fleur1.jpg | Bin 0 -> 61464 bytes IMAGES/fleur2.jpg | Bin 0 -> 33497 bytes IMAGES/joint_J1.pgm | Bin 0 -> 132487 bytes IMAGES/joint_J2.pgm | Bin 0 -> 81161 bytes IMAGES/joint_J3.pgm | Bin 0 -> 65575 bytes IMAGES/joint_J4.pgm | Bin 0 -> 60895 bytes IMAGES/joint_J5.pgm | Bin 0 -> 147704 bytes IMAGES/joint_J6.pgm | Bin 0 -> 100227 bytes IMAGES/joint_J7.pgm | Bin 0 -> 111481 bytes IMAGES/joint_K1.pgm | Bin 0 -> 55285 bytes IMAGES/joint_K2.pgm | Bin 0 -> 33282 bytes IMAGES/joint_K3.pgm | Bin 0 -> 34244 bytes IMAGES/joint_K4.pgm | Bin 0 -> 28069 bytes IMAGES/joint_K5.pgm | Bin 0 -> 28099 bytes IMAGES/joint_K6.pgm | Bin 0 -> 19511 bytes IMAGES/joint_K7.pgm | Bin 0 -> 31368 bytes IMAGES/joint_K8.pgm | Bin 0 -> 24223 bytes IMAGES/noisy_fingerprint.png | Bin 0 -> 39061 bytes IMAGES/paper1.jpg | Bin 0 -> 20075 bytes IMAGES/test.pgm | Bin 0 -> 259 bytes Makefile | 45 +++ astico2d.cpp | 691 +++++++++++++++++++++++++++++++++++ astico2d.hpp | 136 +++++++ demo1.cpp | 165 +++++++++ demo2.cpp | 244 +++++++++++++ index.html | 83 +++++ install-astico2d.txt | 168 +++++++++ tp8-andré-colin.cpp | 361 ++++++++++++++++++ 31 files changed, 1893 insertions(+) create mode 100644 IMAGES/blob1.png create mode 100644 IMAGES/bubblets.png create mode 100644 IMAGES/chat1.jpg create mode 100644 IMAGES/fleur1.jpg create mode 100644 IMAGES/fleur2.jpg create mode 100644 IMAGES/joint_J1.pgm create mode 100644 IMAGES/joint_J2.pgm create mode 100644 IMAGES/joint_J3.pgm create mode 100644 IMAGES/joint_J4.pgm create mode 100644 IMAGES/joint_J5.pgm create mode 100644 IMAGES/joint_J6.pgm create mode 100644 IMAGES/joint_J7.pgm create mode 100644 IMAGES/joint_K1.pgm create mode 100644 IMAGES/joint_K2.pgm create mode 100644 IMAGES/joint_K3.pgm create mode 100644 IMAGES/joint_K4.pgm create mode 100644 IMAGES/joint_K5.pgm create mode 100644 IMAGES/joint_K6.pgm create mode 100644 IMAGES/joint_K7.pgm create mode 100644 IMAGES/joint_K8.pgm create mode 100644 IMAGES/noisy_fingerprint.png create mode 100644 IMAGES/paper1.jpg create mode 100644 IMAGES/test.pgm create mode 100644 Makefile create mode 100644 astico2d.cpp create mode 100644 astico2d.hpp create mode 100644 demo1.cpp create mode 100644 demo2.cpp create mode 100644 index.html create mode 100644 install-astico2d.txt create mode 100644 tp8-andré-colin.cpp diff --git a/IMAGES/blob1.png b/IMAGES/blob1.png new file mode 100644 index 0000000000000000000000000000000000000000..8dea5aafcaae68babd77593af8d1a730cff8f1b0 GIT binary patch literal 2106 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 literal 0 HcmV?d00001 diff --git a/IMAGES/bubblets.png b/IMAGES/bubblets.png new file mode 100644 index 0000000000000000000000000000000000000000..03ebf204af4d5656baa5d341add4be72a8bb0406 GIT binary patch literal 75379 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 JPDHLkV1iVtSfT&` literal 0 HcmV?d00001 diff --git a/IMAGES/chat1.jpg b/IMAGES/chat1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..35dac6c24d0db7e60f2666b3fdd4195d0f618d7a GIT binary patch literal 10649 zcmb7pWmsIzvhKodfWh5egFC_9HMkA#POuJX|Hz)s=z&NVlH=XiosJ$o8kN|Jdw*7ob~Oc|ZUFh7u|khq$_XLa`YX^Z9tX z{=pegj0>?fw}j#vC}wqs8VJRo|L`sT!6$#P&0h=)g#fO*wx$$xY`9QNY4dN`;@>dD z*4+u(h6mb)*3!ut+CQw`KiKjQ4)}we9KE2n{iQ!61X(%jXhH9^(32F90~7!iKpmh2 zEC4US4sZlK0XFE}8OrehG@)|I|DaF&S6>~fWdYT)10YZhX}|?=0?hyF1ApEDv<;O0 zoQZfKMCOkj?Dtvx^ECK+yF96W*{4af%0ss)Wf$|gn z#iPv!0L(A|XdC_)&mtWF+9LsgaMjh^-Td!!;GkDnYij_wEC&E|eE`6j0{~RRfBXiO z{gDI3D*&Jk^_B880AywX0KE;gZ=?S(Ze*y!|M>0y+UCFf_q+~B0dTOee-0?YLk|RG z1O#|^1XLs>L}U;u2!w`;hK7!T4MxYn!azd<cAtQARwUNqNAbX{(sZ+Ab^DoGyzR;FjxRA77QE~%=0jGFfahzpG61r#}|JI5eXRq z4j%T8lo-l}h5MHXDu;oGML>jmUIRc-J}ejx3}r1-{-gQ7UMV=qg+8hS0VS_ba-r>D z-svXey2SBX(&KVGO_`FII^Y%6`3C7F~m-}~7s80nIR z{h-Q-wAZBE)H`S0Z&2_VV8fYQntc?lg_}1>&-h@vTOknZ<=b*wDJ=XjQzueKV{G8q z>vY!kyPXo?e4nf~db7>@4192G@-cmLIf(`rQJE`L-6ib*;{_+37@N$H!v`|n9+|G@ zE`hZ?zlUoAEf2jPHIKmnYDH0tS3SF5U(g|&n!Pzy=`Pyw5Brl6t%Rzd4{1-`lN6q} zw=Ot!<#%bna>;5*Ql9#OvG6vPXaZ96@-md5lEaMrYRV^zqNeET2|-`wN&;)GTjkw* zr%XQp^!|-%$UbI3zMD{_=aBm^6$&(gsyO}a*SQOM{7mye6j4WXe)AqHiWf=^D>WW- z%A#vX>ik9O{B=%|h4F3`YDWw~Vv2m`PipLw{7`S-MC{kH$gE;kDFL*eU&EbUW2Sb< znniI!Lz!@n(&B097;U*)M3m%b)gMqx5=i=IMyo|IP*_-YvJ9+HEos8p6Gdrud&J`o z2U*_EUGfyxQ4z7Yp8-2$${&%P;LwLO|x3Ta8hZ zL;!>5E}xc7nZJgXcTP#yrlD+iM@z^XbFs2$ zozP`nC=}*)k~i#C{8+;RA`=j&Vzu}+0Fuh&yT)WCut_A>D}EmGPd6 zu!AxBjDUpOY2P-XXFWl+4||ng(9Rv!llERL$Fy2(LTlG0a`;peJ-Xd_Z2XRFuJ`D} zFJx9n-&l%DSw_c4^?}X?{v!M<(wjk3>it;Gd&K0|>uUI@+QyR#`IYG&>yYF$zE`>` zdRCX(eCximLXL}5wPJBsccZ&K8z(Kd=)sz6GKF=X#Yce|e#=hs9Kt3Y$*4Q%1lY&~ zx84HF-u28qilUvdln?42`UvV07yCOl`=OXS*;G+nT)syUh3#^N$+HVXO$sl_nlZy( z5GmzE8gjo0Usl|7m9R>b%&M0pojsaar$ZU?aH)3|<&9BI7$H%av8e^&%3&%rT?l1j zj|Os_-~kH^ctW`x(@gQ6vLu5^hDvo3{?(-QWYeJB!G}sjCOr#o*>&dEu18jMg+AHz zsfnzm!U>x-vojw#zH?*oW{XiEMOVEb7i-neThP?;Vh*%2q(R1Hv(?2vdlIlK$VR%A=C`#Rr*VzUa$_wnlW1;=~(5Qj5T zHjZ}Llr}Akx+kZ!;1(s@wl`ZFCd-vAxXjd#<@gVMvu})5Y;{H7G>(vH6hli6;}{0x zkTNW$JOgH!{?d%Ta~{yiorK&X&pu@G48Zm6P7bErP6l_U^<=QkHhZLdbM2HSRDb&Lm#j`+_b^L z@KK{v<0`s4gS%g9xkzPA(Tx!UhRe#5#F`eqe48?ACFr|v)zs{=F&;0*-xkHY_PxYo z`5t~>6$!zja(oF{C|yL}9YYH+SzH?_PAewC>?qqt2tA&aziiuiOnuueQA<&@^BV&7 ztU4I#Sy)(jBoI6b>R;zVUpzd3g@BDiMa>DumC!JE3qi!Aq~Vg(Oe}01n743GI;Z89 z(txiP%!_OH?+q^C{h4 zTF}I)#u8Ixqk@rz(%q5~i+a1@Y1wXO9F;vCv!o`UlTi?QMmd_WAqfVl zmrR07hSj0St=i+UT;?P}#n{O1b&c&d*0g!&4TE8w2kLy2s-YOON(0X$`R{#wu&+qD zprJBzRgBqail4wEhBl_S{@|>{Iv=4d-Ri|7PmDi--$Z#LlrbP@tgV_f4@{26}Ct4y}NO7e8UEJF~Z+p*4+aFg~x zHKE_})pIf*6a|Zf{Sy6+^9*!8999x5*{*y`BH z#rC?T6%GlYLT*NMM-NxYSY}LgMZ- ztlHP#RBbr&;5kyn6&xs)^_3nnx$$$#oj9ftf_Fg5%8g;7bL{Mab2eNcioOsMG~f|R z{$Rhd6%sPK=Ie}rwcy3DVONIrohLYCb?acwtz{eJ#8dqXQ^u#B%xW0lTPnLg7os;8I1u~L8#MBl7PRK~>g(z;{0ext#jYK}wzVxBe zxR{w3FG}=d(#o>)@oMy*jY$X798vPFj7iIVLuUDQ(JEBAj9!M-75z300TF{A%CFHMBFrzaqDcO>QjPm;1vC=I!OnAXx^d=sae0V>h zH1sAU)Vph0-mV3nFC>*oehDeK(=`Wd&0-MVhW`e!NiIE;qA*STb}f1hmTTq?KAXbI zdbp8q@iFzw%Vv8Fj?panXP_d;&Nydjt*mtFG=|QpZa9Fc&2>uRkhN^&{`hNs!u48c zM1$A8=xPZA_i0-y?@cQs#+SBYH2eiNR)*n@5O=vE+vX5++DGc7qu#7=<5gKgu@b4E zN)!IB7mwxfgLT4XZVZL{Ol|v0;qL}}Q;Ou>XigT-%u(poTPI|ea3*AI1X{lQ{%vk5 z)E>ASl&P66xI!xqAb#k_JK3P6 zF6NW%2%Qg?9&dVsSk1G%BkpiFOz#-1(<TM^IB;E2FIbPq%7@CA`=T>HF1>7)5o=YL^HE+}3>xA2 z>HXDCC>(hVG@_4hcp7W7tEWqV@+2BHMK#hV5>{~S@6U8_@T50@x7)-n(^q$Wt7-57 zH~SfIKHR)fdx1Q}QLzsmH6lP~7`OGP>fZfIvX7Hj>&F#f@aD~tqIyDDtOOH2Y-WE$ z#~0tdFMXNBx1Grsyn=df6<%;`WHS3twWqFkHJXSlFVz#LQt2{v@|RPYxtEAYpeSbP z&cEWTGGT}kAa6jhH(X82ve$mIU$o8k!Xuu~sISj)$*eg<#%akVZiq#J;wxgl*_JFS zsj5zIu}R70kFRR&s93o~_MNISq*W*NgB-dUk~gn!S0JyRfv|#NzMj*MT9&ta<;rBl zJhaxDIc+8`UetVCzf7{?w~0{4@a5pG(-Rh^9V(a1F&gM2nM z+=vpiE0VIAl-gF(9wq{{zq~t()OWR3T&A7U7|fX*_EOLJ;0AO?7I z#dr7Tf+K4a<#@RtF5wrX}?+2gc7&t3xhDUsY|iqmP#q(r`sJ$nTanh-eDDKPlqs2xOOd z1NrgI9k<08^-^ad+#}l5L$7eEY%ve#cU=4Q>Nk47{Ul_Od{COSKO0h^`gc%vCI`_e?oPRDZ0_9XM8(K?gvB)vbT3Rm@W?(xuXKJg`(D212>)N>95V7?KESKLPKwv6Y31odZ<(t zhiEBFKP}dZd&Ze`r7dkAJNQBzsSg`&SBSa5@61=y$V|o>QQMxnhV^CX&`0nU6g3}I z#y$z!Ta--46RnW9y)sr*2|hgLjmSt^O)g%ro@ZrVnVephA0%=6SVDLxJIE*5{zH_< zd~})uWN_7WIg$|MUlpcT*(vnJ%S0>kNjx*dACvV-i!JpwqHEPziVVH`sy9eJM{HQ` zY~?!h8Q7z_V>FHJzRCTGijc!u%Cg`;>VMR)hv9Pk=idV(7+N6tQw&7-?-C)jcu2+h zH?>VH1XDH+oX>NZUHo?`MU3hh7#S=dmuu_JDU|K}3_4R=e+vlu+Ob9~)5+`w5k3Qp z{SP+j{mmonB_pki_i=~)i8!?MO0PBZVyW0~Bd2A(RFHY)O_qGZj1Yr)tf!n^kmfw* zPF_S_^|PlO8zcC)cmFhi?a-YgQ9CQ&vM!SRJ`%0UON06P_bl#tt$yT!2*v>hs7_*Y zlK}>S{g|rjo>|yeJVTXjH8*R?SQf4G#l&x&2oNEhSv2F3V^|AhOHB|Gv-0>1IPmD! z%h(DWP#BPgf5tk&Gh@^}Mo~+>n-;8LeFl#GqNJV4BXOiGzG%j+cHF|3Cr=xG1Bs_7 zmVRa52!@kXZiP41A=b(nW5pMm`_)J@6!id$;Ct69<$}e%qgRh4LtVr{uRnfUsUl?m z8MYibK4T$+swIUk2=@yE7v!UR+*3U6`BT>JEaJNF$Edw*ex|O)YD~LF1eGhaJGS=MzyIu$m?dXc{tv!l|UM@O_u{EXO>xf zU{q6)ZkFb1bjB>KMFoX)cwy~Dn!QDShc%xNpiS(pmqd9e)|J}Z@u1gKt-RlOQf-iY z4*U*0-pdLv7rJa$_E2?qhqWLtEV~xhR3+i$qvvJ5B|oXKqqA#(oqZYFh+j4-L_XtD z*1#}%Qu-Q2Ds}xhN`CfwN@0B3G@1=DI+sugV}}!OupLottLRv_%lV=1-}?dkZrmi~w} zf?0?zD~9Lsdbrdb1uN6Z*?~Iica74ejUko~KRDl0;^Ng^&r|lRo^J$!QeX9cCf2?k}FiW@bX}yPej$A4{$^3e1)>%N>3~A~7662Zq{t zO(E5+mE%k{UDNhM!IHnKedTZ}=))1dw}&%()0}5Lv8kGcp4ZXAI^vwgj(du8V@eIjZmHCSvHW+I?N`>5DUJi^$8Kh%Y&y{9a*p?i-almZRS&K zX)9pM<~sU-YqexTmuUW!1uB-tmIZSN5)&@BvM_eN%W#thIkZ~oY0+?81)>|u)wf-ug%($qmB^4pKDtanlG)YGD# zfz>PtL|W_5c7#X%9K+d#Yqd57>2!#xlJxzbDWuhWV7yP$E2mv7@aa;UbGq8sn8hkc zl;gI(v!^uaihow{xS83MXM%StNcAb1U}NnIlOCNuq)Pe}qbg}MLdf~mmPD|pmw3y_ zreSBslJp+v(ph4A3LTC_f9ybnJjovcu82&n-jivU1B?hs9!M$LAV5> zdW>jGLsqNLyLI$3>M5fV^=4Qk&)ZfZIKQeqok+3bV2r^0I>BxDtF53OhCy;bws|NC z%vNqzQc^I#X~*G4${eFPFk`HIX~u&2{jKvsSr%hiGeNz&^J41{3v*1kX}oI$oeGsj zZ0p|(I6z{gzqjY=X`=277CzCG;L_^#2frEAB#c#bxwE&{{mEABNRvOHf7zv za7_)l^vj?<$U3&fV=c@SOZ>X6TaA4UdQ%8h??MML>{^y@9TrEafUP+tNy1xwRM0$# zE&{7|dh~6=_rp-jJ?(HfR4Lqn&@WjL7vqf5s^-o9BbRP?6y(4lu9v6fU6Y>m{Lc{CduWf%nSb~!jX#eAZ{ErCRNsrct z@?(+$%Y7&8u;Y1>68~#XhU%D-q?bGQ;xFagXp;~Pn^Zu}m9(L%-kKI|*(kKI=J4_` zK&S!$3j-vH1F#a5aE_GGFqEOlK&E9=KQcTl3hk<8nm#gZf;{XvZJOktXVL4krTsOA z+R!rPFMtRBFXsK5=uhpG0_$&90S7He{!eWZiwaE1$pNiM{;O~be(Jp)A5>l+MKqDK z=&B<@A6rhJg$zKnQn=*T$W6QzBf}010|+)D37`SCbHZ6sn$u4+GVsWo^)6qd-4Rwj zJlFF)+0*f5XQs|M^Ml&*sbW7;k9aFzW;-96Swf6MjuGFGt#Zh}EVxgfyM16FH|^JZ z2HpojEu_VQR!jd748p%z$O)F9H0RK0Gz(4~IRBgb{HdFQA4M8oxRtB8;yl9FCiT49 zCOuy>BkKoj;)Jm6awZi%FhCHCAf|&aoVV-7W>Z4ND)+`MPDUS2(mq%SRjJ$_q1HjF zMcyY+R*H8FxV;hzcM5z4G>_GZyr$RB_)OivflqYXtPwyGt=uo1=5afe((CN+r*(Xe z%8h6ZzC6M-^bZkEdq#e8+7o)((yp7iCWJor*0^6}Mk)sffG)xAVWk{lBiYY1x-!Jt zaB_p|9rgqut}@OxRAsdF$&`XrD*|lw;kgB?@}2rs{{Kq;{?@ktqh4}(Po{FD5F z6DbQDImFEd=Kpa3G))u(KLcn=RZ5Q`(NlcDP2HO{;-V5cC&9Ux`1Hg0Bc!Y+eh&(#- zo_$HJG*^#=I&elp;b%7Ou7a!&RyWyuR)eE9_+8-J=TSEUt$BDHPZL);YRttjkcJYF zvrH^(a&emw01jl+I~(JaswDJN`nIiOcK2Qw^Qob=-A}es??x+_-nIK>JwYAf<*qQD z(}#DK^Wz?=@NvzUT8%^O^mbc9*_3QGu@gT1@vB6%al`NOoWE4Sy;TcN8?&Wt;Bd#wtt- zbGpwMDf0`u_<^(b3?#o$BRT!XSUzB46$3I-P<(Yv^n)Vlo00SUM?%m+fHRu(-Oxzh zTt2ak#S1d-YdAY;t#vN?kQNa6o{kULS)Nt5&d9#i<^awYQ-FzgPi|9+)L#4DPzlVL z-@q%5YuqEiG6-;j)#@C57tQX*uW>~cajtGUfbQ+dM4rni2Y(2=bEEfr7v$Zdn~2_l zU-0E+h@vQt*8!@GRz3g8?ln##3L3h*$)^7J`-?h(%tu!cvC3E-oOO;b$KVOQ0g7;H zrxU|>X&+YlhZ?xkrSmH~`Zh*8dzH6TC1u2Ar75;!G z9hQR7SAB1MA_>f;u0}KVq!f>&_nTm^QMrSnsU}4hH@xCk6FZ1otdZS`U6+)cZ|tI& zw>Oe6%n*TIa119+OAF3^jSGI3@>jAS_L*QXb_FM50Z^Zrj8jW)>I6-yf3k6cj!RvL zhF4aMq^k;L$TDS8LN*ZY;sb)8s7;F0I&WCrgttU+lFoF7&&$(fojlX8reLTJQz7@y z0FAHK?@gK-Vk>p=% zU(Yp%O2(6WQvjgKH6+^O~ zu#U0I{s60VbHs3gMz9kc%;6|aft+jM(1iQjIdvpNFr7C3Z4|?`$O@Ze;cgvPVsX?E zOZC*WV;sEzw-aid0^d2o+=${&6#g?J*z-Xt;jOWRck)vnS(hos7P6;g9HtX64Okq> z8Msn}{IRsByyJy8Bcr3S)6q{?W!mf6->`0^h^+Sk*LwN9lZtpZAQPTkPGabGILg*2 zX~1%7gaI$xd*?7rJ;Uwee4~U{ite(w5y}h;)Az@BpBFLs!7&hZ4ntEl!f_zl4{^|h zXhdPwE)H(r)RK0j1qaNsQ-`r{Q@!}Mt4^tHHD4!f*0KL%Ql!1cnhAL_^DJIn`zy_F zf&-bSnnMDXgL|OG1|u!GFMIxV4K=cTFvlVx8kAfaSFluPee#xz6(%B|8#igAC`mXS zq_!kPg%V!9qtEkGJdkL^{gGm>Cg(%1T+#!!~K8clo>?c#0W%m^V+1zJR&J6}9M# zS|n+tSVG!|{^n!4Qi4LW^@&>)@eK!Q>%P+cU z*g-sEWC7thR!!K{Mf$K}!iMmuIRBd$(%mtrYqAX-x^MsZ$jiMFs&!M&cd*+d6%pv?bwelb1iK z#@s$>$;vi4Zb>@3r>|!Q^1YXDs6^oG#-S5<2H-D-ND7V)9uCw-M>p4IUk7R7YR@_s z$Ocotq`y{o!A^6lEbU4=PL4WAC7lO zlCA;^q(VTM9)q`7#H?mtLyLLB^_et@Z+Nv}=4sv|I~R9N2cHm*4IC!JO*C%44KH%N z?KIR~_<)}}l0N^*naJhAmv78wXO^-NzL{aH^vSH0AGC((N`riu%wb-E_Px6sgAJ2V zpXCEKaWPPh5Yh7+XNLfkV(u^&=aRzL2C+R(UIhWC^{T1oJby_PY_u*o2XD_sAb{=E8s0Fgn3 AK>z>% literal 0 HcmV?d00001 diff --git a/IMAGES/fleur1.jpg b/IMAGES/fleur1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7b1b274208264e7fd0732e86a9666b179759fa1a GIT binary patch literal 61464 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ⅆW~^@6&B z62J#ELr>V({&UuX1sBaCmtHaWy}7@g%N| zG}HU_$e<(_BGvKyz&oOl^Do}GPhCox<;7uwHhSP4VQN@t!$~5vOV=!`0&gxP5b_{g zNfU#0gv>JKUB4J2sSs_ayAl{o4&(g7+Y7!7SPN$984O`ykB5_zPPhx?;4Zvq@sV?k zm|lVZ0DR!+mfJo@8f0m8ja${k2ue&l^>ULT2Hd_qYJ3;S(wV$jkcHb@r42` zGkpWwZc3v0>2h|$*?D(xVJ6Y+Z(VDBEHJW*mchgoajOcLd+ic zeM%LBu*1Z!ubi_O2&j5a1e3s$o-;wF6@Bn`64+J(klo?=N_?Z0*j6b@R1G#e_MEQXPyBmFs9Gcjb_PyLa{lmTtY$bUp`(#GMs-^z%s8WDq7yt3_j&7P)9z9qfbT2qc4;~dTtgfEMP;R|fCRPEKv zlmHex^zn%b(;9rS%S7sq&&DpO71G5o8XzXc?oT7hB8ZEG@qZY3i3Ih+LP$?(#I7d{ zETK4o(+?DUr>-$HiC3m7w=4JWTvoCW+0-W^(=Ey?Xy4B~)=<$ODBtfN8_;bWezAq) z0Mn_%#AyWv1U*6$9dh>2ozA#EP7p{hoMogBF8AlgL%C%u8btUG*mcd$xc<4vKmoxN z`4siWEt}^~dzg%9pIUML@Fzh+-bnCdtr*B~$3J<%CoMs8Cj8bDs{j@iVBkvn^;~6B zoKaA269;~m7(MeeOgRf_Xq8I-@I?>3_gEG~4Vbn3eB>6$u9KoXMmB?bqEfHq!&2kA z>xQ9V0v|a2N8O$oF9}VQ_0KOd?*&%jNeRIl7!DU)RV1UV;4)ox-g@}R^eJN=&Y8bs zN8Ynv5tmqb4ohPk)?Sw8xU5r(hUIk+-Y~30*cfvGAho!Hp3e|w+t7a*G60o|_pF+f ziU84ooegVdLrPbd5yFAC+((1e9NxV<;MJulQn=~PDdCxMGh#p|zDrk>GH?pj#J_*s znZaUOY5T~eq4;B(D^plV7YQ&dInjd>br9(n`^1sdOG_bnBmLtH2|%RD7>;)xeeqR^ z(u7$GRBN(ZbcmMY)_de^m^zVUc*d?dTr7P*n1(v!fu$}9l6)Bg zR(Ur+=1%tK>pYnM0AZNhup<(9hjnN(CLC=1Y*`k9vsCf{{Wf0ayfh*{{YP7 zqQROj;(n{3n{GPa5lr|ValaRSP`N{c?2*x9H%lPPVrJ4lQq*VH*z|{p)w&h=SD!2#!agn zvgX{5@c|5#D!cT@a0kdGoF)mRO_PC^;Ttcpi;|%@dZEdxdb;w)MrK4xrS*)ph>fWqiZNWuorc%>hPojG)&Br+1s_hZ zljj!bNVXym!vzEdP535AQ+jm}@<5*X5Em@;-arBYx2_K;HXuqp{uw-kqn8+w=@Y>B zyo$k04h|Q5S4nX|C=ye;^Nnq5I3Cli*Pw!CoRygli^pCdoU)a47W#O@6@+I2G+^{b hz;uj~=+IHr;GIh9MEJwn*? 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 literal 0 HcmV?d00001 diff --git a/IMAGES/joint_J2.pgm b/IMAGES/joint_J2.pgm new file mode 100644 index 0000000000000000000000000000000000000000..33ad4b774653aab2f55a09b4d23856d48fd87740 GIT binary patch literal 81161 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 bP0mG5z0b*?#~zA5uf$IBwfK(ie^>KgHNem% literal 0 HcmV?d00001 diff --git a/IMAGES/joint_J4.pgm b/IMAGES/joint_J4.pgm new file mode 100644 index 0000000000000000000000000000000000000000..8f49597a71ed4ceb94e693d3dc5940dc2c18d02b GIT binary patch literal 60895 zcmeI4!Kx%x5JX+iS3GbpI5G>rKwJm|e!&O|f}#u}`1Lyd-s`GcRT-HXnbBRh)mhm0 zW=2MwtZL^uF6RBaH=jSf|Lx-+AAb1d$ER;Te)#L@yAQuV{q*yv+fN^V`}OJD_uoJL z`SjHnZ{K|R^}DC9zI^-U?YnnxKKmE_`upBb>9N*Wxp$|BS!2h& zy*|ViTV&%l{}u-Hp)~mx2VT1{@fJ3)U7d6d8x~ckTmr$O`h-g$R9v5K35<$6lP!Tk zz0Ooic%W`?o-JHVzd6kkKBn89Wd|2BYR<7lL>cs_SR!DI+W&?fruY+g^q`~u|1U!I z1fnM$^i>#5pMWxGH^Wuq0j1woL9~5*Ot;(4mKnI1Zc~OJFmge?rXX8p;cQuGy5;unyv?Q@w6F`c~+IWc@hD9Aotkwjf!n!tI;s#k!Ly{^s zL9D1Qj+fXWR#caSs!b3qsH@{8et;F0C81&y2n!nGc#R!kMP*H>*ag9Yx;R~A2Vg;2 z6e_j>u%Ijs7uf+=P!@%XZ2&ANi^D~B02Y)*p<){V3(Defl^vk9%c@YZj}2>A#nCc5 zo7S$%Ld8Zltz8vItL$u8P*sJBeE_Xl7DvnMOjuBqg^G;;u2~jG%j`^8P?Uv=jR3Ay z7AMQ>ELK#Lg^G<3uT>XE%j_&xRFj2jjS#L?*Cy-SELK$0rAnO;u348R>.P}HSL zodB&}mL|*0Y*tW}rD}};tzFhetK4i>R8^%)eGsf&mqx41Y*biP#VUOutldyXtGsMd zTvg=?eK0KO2(vX-fYT{!a)mAqD`*MBB~}2_ElYxRCN3*z>e3ZX05T{ml2sl7Dr~Fr z`#umcYV@N;4iPBsivYSd7%*V)m zvy{HB&rx^q$Q<;vL zNJRyrHAC`cQK~V7N?}6NQ&YTSbnHT#f;@)YD$Ksrmb-?Q#G#q6vI-~=3z?8A{8}O0!t53C}nXP zhZpipmyFsJPnVjYVP0H|V<{v~M3XFk2^u@eapl!4$Fe}-tCXi=l#LDe9T>2*mfc`$ z+?(EdRc|E2K875>#b4e}BJ4Mq;G4v4a9rTgR`p|Knw8yE(|{xv1z`OeuAE5+T>N}dC|RWxNn?wS#-V~*Ii8AL*(fWTg}Lj>0ADX zT5Nb22@0`eUJ*oH+8MKi%|?>(%xX5q<|XB1PI|?ZYfj|FTzWYd`sZ`jHx=*hkaBny zxi&^K?;I-)`)es4UKQ7w?B_b!Kfz4S8rq-+XYZ@+41ea>wOyR*(V|hYa(Fw-#jEiN z-ozov6Qkb2Bq|`IT78?Q@Yp(*Oq-8@SwM7W7w+9P~~#)ebwh;Oi7!f7)6(q@gAK^RK!q}f9St@AL_6`z?7sg z7&Vp@B-q!Nfg2t6dEtHF2({0GVc;gm9L1{IK&)ka+6>&{f}`!uj=>g<)!l&pI))|A z2Y_(qFrhAl1RH^sz7ZG~Yerc!BAt?%?C76c=8&!!#c%o`cB3&aU`$jt0&xju;*sYL zoRc(y@UiXWjWXlxO!iww9w@n4VCGtOXS>a7Nc0)y`18?ptM5lI-7sTOnul<_Aut0E z#YDhiW?M)&R3+OW`U)cDm$K`vmAGlGp-AZb=U$~ipTmUnH$Wog8QF(o44@zE6lrr`xb_;iM_!f z*u1g(UI5!m`HF%>*Z#?$2=BT6!UiQLqhI48-?9T#TrJN2gn(h=Z1OcfLW-vI35Y3$`sfuM1*Vg*XapP7GPMLfcuINvf6^{`01ZEUZQ$B`3pdT6iKGo0Kui| z6Ks&;#G=zTz-YP7!!L09|8B`WXHRwRJMhS|y;C>HLb|#WH*mS~&GREMcU-`vwsZ+kf~4?*3a5 z`-Efto!>zW#3~+sfqQ?6*asZz|9=JC6NsNEt>6IKYML(`Xd`h3ArCF!^4n^fFC1ti zkp>|UD4zFkUJ4CN7hrGlm8;bWz{ zrEJkq8qyPrSZX#NSh80OmQ5uou}nr%Ho|O~PB~UMnBhbkAx6gv;f3{1sCG6)H3eFR zrkhC^6q}Li@qqT&Rs;0?j*MQVpLYWX4|vzRLAu0phY7Eeu-lkG=CN^`XqoGXYMy0D zH#0J^*W%4`mBuUX;iQbYrPl%cwQ$Q!wYRZ@I^yPj`yFl`c#D8xiCfs;$@8+soudAe GG5-L2$0!H@ literal 0 HcmV?d00001 diff --git a/IMAGES/joint_J5.pgm b/IMAGES/joint_J5.pgm new file mode 100644 index 0000000000000000000000000000000000000000..b760e62b7367d4a27b4ccca7f1f876a62bb6e3f0 GIT binary patch literal 147704 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 literal 0 HcmV?d00001 diff --git a/IMAGES/joint_J7.pgm b/IMAGES/joint_J7.pgm new file mode 100644 index 0000000000000000000000000000000000000000..2e9a143835997926b18f703a66e4a4bfa0533114 GIT binary patch literal 111481 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 J_qC!z;Q!<-=c51s literal 0 HcmV?d00001 diff --git a/IMAGES/joint_K1.pgm b/IMAGES/joint_K1.pgm new file mode 100644 index 0000000000000000000000000000000000000000..54166f8d72534af0255c86b53323103992440dca GIT binary patch literal 55285 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 Ve!Rn8ap%psJj8j+zc-Iw;184T$cF#` literal 0 HcmV?d00001 diff --git a/IMAGES/joint_K2.pgm b/IMAGES/joint_K2.pgm new file mode 100644 index 0000000000000000000000000000000000000000..9a526a9b1a1f6442060fb26af34420551e136171 GIT binary patch literal 33282 zcmeI2-HIed5QXP@o}$5f!CCjhClD`$1)pFA7X)Qx5W%O{`peAtIVUo+v#Pp#n7yg^ z`QpTh?w%fZ@zclWZ!Vv{zW)9B*FS!{{P_C$-^?^ zRADeu`f~&r4L}4;jhFOZrdKFPl=c#N#sDXs*Sb}3-uly%XfL5>EP>u&KQ&l!OUbJ$ zIj~Z;=h!2b0EizNthk-n+O$QHeyeIvNu2GdrxZx=sHw0uI}vB6$pS$D2gizj8`Mh} zZ0>U%mL9Ao-}#C4QakR>RGmm#`ibWTt9k`>m);+;O{zdd0x*VC<3+cNNUmJij1afR z6o~L>*=%7St@Qm$)=3qJNC3rfXosTRMI{%IbfpMJBmrVPG+uS9sN_ttrcfb>AV5fl z#>;jWSDZ-NEGh&k0Eo!U4rRBDYfdO@7L__tXPHKSz3keeNP=FMzIG;!X#V`3J#WCl z-Q6Z$^mOLHd3QLPu1e24v^ZcXU6q~#QujET&PvaF^f=%towYp&lYN$+C(er>}suoo}Wq~Sr8jvkD1T|Axq6VJU&yJdcimjqi z0ncg|Lv2y)t7ydBS>58NHHw{Ol^8pzo85E-p|zqDV&^oAnVu-}R&*ljq+T)86NToA zP>7w;ELQrW$Xij0s8f2yN@o5aKP zrNpu0JIY9B61bB}0d{mt+USqDJEg_3qdUq*cf#FiDbCe9TFGajg2#I*Tw1Gej(4;| zkZ}q9kCK4|X>nyUz(Lh9Q*EhI&`FyBr?i^L?1*Tg(BeHg(%Wi1GKl5UhUVbZF>GfV zNOvkZoJzNoqt`|MV~BInS)k|ncccUDGjW)3@WOeA_u<0(iYh&x85`-h^qB5cZyApm zDh-Ah3(%etlb!25I*6s(9WX+BYShDl=b;yl_~A=**Is%y1F z2BB0M!Q_h;qCG`wV)X6f!q6VZA=*>KvTLqM_5bY^q*|&0DbluRGOCSti zeau6&qli^gwL{3FNdi1Ay5xYHN)YWRV%1#jP%>zi@PQ%M)MHBpvh78pn#%1$mP`uZ zY0)_c*iu4ldyT2)db^Y+vw#mYxMdz&D-doiGEq@)l`@=Au%RKB)G|3oa9b@)gh88@ zr6Nho&N=51&1+nTb+{JqFs-Ey#v&fzxD<&5JuDVh12y<%AM$WQuCGj2+ES@44h4}! zIB;|m8H#GLA21mY9NqOl}n5;}3-UgOvsb87zqf!_9cZ~Hp`j|-3T zscZA;-o3W52cg_`!C&+qXp-k7uf7tM-UehH4*kyQ0An#Km(;3pIi{f2u!Ic{)YYm1o#p2^m{)sP63k!QlB=%OnC3Pa zsvy_!n2ulFP`j>H+3UXjfBDM$YUc&pvkcM5{aQfguPw`UH4XlsHbRAn2%-`a0a9MY zNOLO7Wt>_%6UvC9QYQ*aA|~PLW!|+?p&(O~iugIBxFcUBLa06Ugs6zJ(GVRKN=!9e zvXHL27KBQj5b%Cs%UZ&0<={SP6N^aVn7CyxX4Y!sdE^s(%uPxanO6Y+>6%7Y5^1E~ zrUenR=a3XEwtE1wmDog4U5X0JI~yQeM$*T+^{Om`SbLB#AcBo zz%9$g+!T2uvhBNTB{K}TZ9TM?o8b0jdt*|1Z_jiB^p%>ydF$UI;q-kJ=Np)l?LO9i O{CaTv;~#hD7yJ)AeUWqk literal 0 HcmV?d00001 diff --git a/IMAGES/joint_K3.pgm b/IMAGES/joint_K3.pgm new file mode 100644 index 0000000000000000000000000000000000000000..6a4d733db675c09cc23ff250a973b3e9f5c3502e GIT binary patch literal 34244 zcmeI0(TXKC5QgV^p5lP_!mJFkPas|h3qHXJE(prXAc9Y?C*7UouSzAUB-KeD+`Z|l zKUM$#b@uFW#!s)$-`qZZdH?I}m*0QA{qX+w&+VtTKX0FZyLX@8zx;9g@zc+@zi;1t z`{DWJ96?$dU!WE^I8>IZSYrnfp+=} z{S9=%UxmLH{u2BH@ay@<;1}}`!>{}THGp4+Z^G_O6#q>zA2EYpfN#h?{rZjB?{?-N zjjW+P`z-uZ$T!pMWtknE$A0qdp9+5J<)2UP5;{L2bKt5eUG!DgSpz-vv)HORJ@8Le z*J%Si_|xF(K^^#Y(|Hr^`19BlNzM2Q&zU2Q{4>!sS^q11&4pOaJgL5*o37sqt?IK= zRma+X;!)UHjKmwQyT#dRRW~!4K#sa0P8aLCmBj=_s5{d6LRYskm|*#JN4Ah{>rMs} zJY8YQS2DfAX>>$Lu3HLAf>iezoe)Ab-~Hkm7f0FZ`#f>)>wBtSb`>^5BQpG5t-EGd z<3ZhIXd(tBmBKgKNd$$-z(^7Yg2EQ25Oj|?3lqxk(-Qc>xo(sAk(m{go?*5UOXs?hRkSHip-onIKKNSEAwV~8L!N+&IjgC zdhkbnvMjuA9x{J&A^i4_!S-uo{@rpXg)1C6%EguRp6efBEbNvrb7wvH*ZT0cf9MKV z*ngC};G(|86(@wle#XM4kW-f~gI`CLCXVZnj`CXJ4m*$XS>+QSSDxahe#`2~{nfn( zP%mtQe#_?BmQAJsfav80wuZ}cQstDSS7zfe*&1r1XIDkD)fRNEyHn@o25E9`D$(g$ zXP3CP3oKb{z}9+NZB%iN1s7-GkgYYhU^P1 zbxanuf;K=kmxQXe+)%Qq5!CL=!6Z|;*M+b4Ru3ll>fc?`&5ELCY8Xr-)ywH>K~cLl z4GMwkePK5vsV!Rvg*>%|uq#PwzmCD7JZYJ09ZU@?Jk9m$b!nMsYNy^ol6Ev|FKIbw zYL}70kOqa`50*%&cNm)_p`lTGh7D4v*M|p5Y-sehVdW_FnK9~!kJcx4E33jmfnDjrDepKUdSBlGZQVnBQaK%38#7?w69MM>@}Ca z+dMKndjrnhy8{XVfPIw0&=n*{mvSWd>Bu#d4KzXF_{qRkgdLRAJQzOv{5%YO_&;Lg z{vQvY-2VgO13#ySBl4Ftxw&H{iGUi;K-jL02xDcduvv)i46rexVP2h{59?jRyD z8p`YpaXP&*$LF8KbKk(qqIJgz)NLLAxPEJ3=BEZGgNF&x=x6^v;Z9kaeM=FP zoyQ>KUYz?R2+Af9;(QS27Kos%10c=^ac+SK$~pqVLKNp#fFPIQOWYqLpV!X+XNsv< z2LidckJ1C&jb~Jy+EF~#IT9il*&P%-(5o%aF0% zNkEy5riueRRvzn7Rr$>xig>K@AVK!RwVnZw6@k+0LAY4q`N$I(cO8U_m4y3f5OI@G zxL7Ul6T%5U!jrt#CgpE+SUaEauf=Ij=lsnEs~6}Ctfpzse{g*I^KtXrUtj_L0xm$) bju80USFf>gyudYJdMMlr^z41zp*Qd!`}9zR literal 0 HcmV?d00001 diff --git a/IMAGES/joint_K4.pgm b/IMAGES/joint_K4.pgm new file mode 100644 index 0000000000000000000000000000000000000000..d2c8703b7d01b0fe9ed4f85c0f9992e54de93f58 GIT binary patch literal 28069 zcmeH~-HIed5QX=8o}$5fVOB>ULA($Ke1Z{N5R{cc1fPDbs;tb6$cl_Ok$>HYd$AQ6 zan6ZvvU|FBUtgZSy1jmW|Lg6S-+#UR@c#DC?WeatZ=ZhKPM_XC|8e{A_2=8)w{O1w z`1JhU^X>WjZ=XKCygYsQZ~yrc{yf|dd2-Rm!!S}PRzCzGBf1>!i+I5i8uua;P~_H~ z0A(1ldly2Hq}IF#VU0!ZuP2l_s@;bN{IZ;|dRMivy}y>Q&QYB_JmA{5VfCK0 z!OA<-IO?;9CtL~mp?*)w`b;148>$ZV>>dQONbCynyG}=a%4Ue5ZP~Q zCKB4qA;mO8XgeaBMTqPMHB%75-I#0!A+{M+4In z$a~0wmn``JT}tMI^u2_H4=%}0#6#r%5?N4c_?B`ioVmew65`Aj-(bo&0e5&#NP4L$ z^UJw-E=}NB%(9x7Y|C)WFD|G7MHeC=xKLD%g3)SKlGL`CsXEe7w5rWybrf2Cf zLH6^m8XymOfN+v+Vpnh%Ezzboi-hY@w-?i^op%a3aO8gR1f)=jm=T*)h}F@lJ+UOB zs)rE~R@S5F1j}M7Y9}?*AP3^rN+hb(h`@)1B*ddm{$dhP)1eIJI^SEQl?$_iIF zdhbiri^-(f1GwZ4y8u@Z_5ltdB(JAb9)!{W>xCb%?{9rmC*X*Wo5_IvFY|1`UP7HO zq#GJ*Jo7CW-a{6FIqyNV!uM=TW6#?O&FnFN?Qg_YfUTc5Cf^YZr~paJ%M8TsFAgFD zG!2A6>OesM%Z%{tshAE?IWG~391H0CZN~V9-r%;{?i%yW`LVYm(=r)aog6Tv-{Z6*+Ai3Fw$clG?Hp=~13~(zX)t zISI|BVb8*|I`ph-BzVRwHykXxU@2QH;ux}y?@)#ppKI5!i{aX!rZA-)cg+`AcCMCB zIU~+TlD+tc(DZLQ21Ns(KP6`YiWN)Z`|B(^%9AYqdVMvFWh=RuJ2&9LoP&Sh>UI3X?h-24DoK5X#Vq9XD1O^bteYrK~aR zphIX=iV$?PGpyDS^cg`og`_jC)FHHKW=N{s8djxjcaagYHTQ;9Iow+%gltT$fkjUD zRtX{-Q)^_AbazE&jeqkzYRHacs*sqsV@LIP>@mW@cvMi|aM>GYOtQ{y2s#DLuCu3}`*GeM+~ z)afr$W=9bzazyO(KXYbBbz+c&ez2H8Lfgv_M*T6q|4CDu>jQ(i`@zlxmfC*U(zuxe zc6_z)*l{NYxW}>vei%noBoTx#Aq`Ji#Ev^=h%+-cT-7+DA}LYCermXi=pO%!7%4e6 ze9vSbUYr~`*9Ug7=b$mwb-_ad(jT@3kopJL2M)_D0Flo{<{y4gzgqTf1+j1(&ZGu1 z00>Zx8$Tp~A)GYCay){bNFX3UJ#E4?1D@fzAypFyjL1Y0b*Uj0QMB@Ta-@|KSE)(j z1x300(fH1fy?hf@z${r@?L=f{4Uk9{mz=NiMY5PlTPNP2W>`HF09PaE`>uexe)aUi xw;I6Q#|cgOdI1Gozun&W=zQd3(EefWqKG$mm*vpXgAh{QOT@mJ?*%bo@4v~r6}kWb literal 0 HcmV?d00001 diff --git a/IMAGES/joint_K5.pgm b/IMAGES/joint_K5.pgm new file mode 100644 index 0000000000000000000000000000000000000000..788644e9987814aa859330d94fe8247fea9d4e63 GIT binary patch literal 28099 zcmeHKOKM$55YgNab1|G)`it;^RW6QpM57mYay%{qM`0?OinH-mY4@>%Oz9tB6kCRaH;+ zGq!Z~*RUwct6D;1oYJbX3RYEJRcm6HS5!5e?+{j0b;Kp8`KF0*pEO(5mzH6tnr4Fi z+IUreR!$LZnoEtSgH0n*InB?ax%aoK|1WPe*z@XY{gn42KYr1pUupP_9$Ylu^Wd-2 zOwmK%sao{>txWUwexGA^Iv=CJ#%P=2x_N4W{BtO<(uVWCWer}DDSaVK_dV;9N&$29 z%$e^y_BoT>iQth(5UQauklU!#flCo;u_2CM=uph38D%Jr5@$LQOK3(Fij%~d4FnZS zDL6oiI`L^BML^tE&Z0>eK^FgA~;bBvSa+-Hn43)GZ`Z^w!O-gBa9IL{j9~ zj6F{|r#ZGZTFMfUO7AR)u8mbZ}E|J;c|WKAzbI zrb0onfl)DkIagH;)B}m7XnU#2|ED1|G?|*Vsx~so3Y8l~r0oixHS58M44JXTn3Q{~ zv1*gb+B8vhN{p`in?{?>I&;(DOP%xLySu6HM^(JoqO><{FV$6b$%_Myrv9q&T7)vv z)cRJ5xCG>B+F$A=s=A6k_Nqo%;teiRV`QUseFL;-7o-O*X}&|?d|`GFBqzq7hkG7R z882Os97b2ehVl&T7YdRjMr#`IAPg{N0!d<0GKez{BhEC0MZuXi7Ezoe67dm>Vl#HL z&N#`cfgiF+=7K*HP%(1|#b-MObA| zyh-U<9Vv)9C!muy&QkNP8PoU0o~DuLqBR1fnGP=Qx&#=D*aU#yHLczr`KmS`o&dz9 zoY7ewDZPTJo(zGqWvC=f>1B+xF@U72K?fAlK>$JNn;1)v31h**9&5}k@#9QL9H)C` z((D=Zn7Dprxr`B+ZMv;13ipkNSM}8cwoughB_KPYD}=iyzLfeg=hM>MC+D7*G__iv%e(i;)gzkQK=X$#S~MM)P$NqjhE)cjTatM$i9f ztewjR$gCfE0G(wbEu4S(Kn~-^!k{!vw2MJVQD`#(rA&B?GUD0dg|bpG(Qi4fW(&mz ztVTLwb8f7~uN|Dv#m5BrLMBU}xU(l0>)Q3UVX(DH7S`b5Sr#V|z|JC(KVl2t%zKg- zFelGC2nPO1cOMunU;rIU(?_0;m}lxa!l~-?NJG$c8{6cjV;BEIJ;Q6NyV9$;!|dHE$u{`MXSv^+PxH=Bg1=XE6Oa~Y!OoKmDm!P z04jT}UWsC>bhR%;*0>Z>*le~+^&-Txf89=mC84@*qf@dLB_9LIHYzHOm9@i0=~lD> zjwqVxpgdYs58329aSkY?WaM%R@RELDQqYLEfS8Jj&ndW66zm=aeI$#XlOLp*l3Tvw z*`cJ3Xi`;G3@JL+bS)|)+muw5Bg(D?UCX*?M(M6vK;1oCwXTWol3aU{#ZMIVn=MyoAxv-PP#3gXZkIqk`SjQPys{i)k#oE8gX6>FP4v eN!H5l%yxTAW!+}m1!UXpsfhqoIN|amO1}Zb0%orO literal 0 HcmV?d00001 diff --git a/IMAGES/joint_K6.pgm b/IMAGES/joint_K6.pgm new file mode 100644 index 0000000000000000000000000000000000000000..ebb59ea8b260483e07c3b6d4a7091bcf79b7727e GIT binary patch literal 19511 zcmeH}-HH@35QV*-r)cnA*pUI>K)etZe1Z{N5R{cc1fO2h-IK2TRHdrYsic+Ni|tC~ zoKxSXr+fDCa(X>IKHq*`KY#l&y}w<5Pam&8rl+rN^>lmwK7DxnH2s?1zB!*BF6Zgt z{O)wVTu!h4?VmsK&oTa(nCZS6jfO(4&4FkIs(EV=8ACOQOhC0rIv<)8tMA>EQ_ae5 zN2bH-hNj2ra%fdp_GGnK#$-FNEXnp^nUU?rvLS1MWkJ@6tM#k48CF}chFEh{v#+Pd zT&>XBW3@Rm3$6w?(*&!*y|m)mdo%60c9B_PE!mZ?4Rfx_Q|rK0L)Hb$4bk4sUR+wT zeq1`To?HsDzF2OW@N?FkOGq|=OGGw=OK>|!adDqB0hjxv3RG%I`2pbLRzI)PD+*+S zFz*&fl@gzfTm?zs5{Ok2NX{xgC$#Wtog&PRYd$B|w|xSV>|m+pYWr*kBvDy`<@~%$ ztcYk}!TUiQRlHHCh*Gx&Z{DO?!FxrDEO&13PSkd9@@|O&o51=oQ_y4m5F<+bn)(TQp#pa>{7=dnw zO^_<9FhpE$Gg!x_tSH# zdmXvlC=w&v=*uMs>&zuTvl%Qq#jLU7xB8vM=Z$4l-cCEMh_;+`K)N2q<>sa+(Rv_P z5p66NeP}aRbb#n$p||>lO+w?{I_1(&DY*c#s0a4KrMuzLd6~Szbv$1E!sSmwbd8V8 z=DSz~l86qCo*6;(Pu*QPXRBk7EmvmefvBrThSfjvL ztRZ)jr*evppQ&|}h-wyfB@lJ24$quM<;KbpflPG6$=KT5M*I9$KVR`|9k5%MSjSK literal 0 HcmV?d00001 diff --git a/IMAGES/joint_K7.pgm b/IMAGES/joint_K7.pgm new file mode 100644 index 0000000000000000000000000000000000000000..53672ce39bf7d2f47f085d64ed805bb6e11bef48 GIT binary patch literal 31368 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 literal 0 HcmV?d00001 diff --git a/IMAGES/test.pgm b/IMAGES/test.pgm new file mode 100644 index 0000000000000000000000000000000000000000..5c0a305892fa2b5db4eaa1d1ccad26f8098c3217 GIT binary patch literal 259 zcmWGAKFA2&5TV M0K^9YG%*Ah01JjvuK)l5 literal 0 HcmV?d00001 diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..ce09d64 --- /dev/null +++ b/Makefile @@ -0,0 +1,45 @@ +# Makefile pour Astico2D : +# Atelier Simple de Transformations d'Images au Clavier avec OpenCV en 2D +# +# CC BY-SA Edouard.Thiel@univ-amu.fr - 22/08/2021 + +# Version Linux et WSL +# +# Pour installer OpenCV sous Ubuntu, taper : +# sudo apt install g++ make libopencv-dev + +SHELL = /bin/bash +CC = g++ +RM = rm -f + +# Version de OpenCV pour pkg-config : +# - mettre "opencv4" sur Ubuntu >= 20.04 +# - mettre "opencv" sur Ubuntu <= 18.04 et WSL +OPENCV = opencv + +# Options de compilation +CFLAGS = -Wall --std=c++14 $$(pkg-config $(OPENCV) --cflags) +LIBS = $$(pkg-config $(OPENCV) --libs) + +# Fichiers à compiler : +# chaque fichier .cpp produira un exécutable du même nom, sauf astico2d.cpp +CFILES := $(wildcard *.cpp) +CFILES := $(filter-out astico2d.cpp, $(CFILES)) +EXECS := $(CFILES:%.cpp=%) + +# Règle pour produire tous les exécutables. +# Tapez "make -j all" pour les compiler en parallèle. +all :: $(EXECS) + +# Règle pour fabriquer les .o à partir des .cpp +%.o : %.cpp + $(CC) $(CFLAGS) -c $*.cpp + +# Règle de production de chaque exécutable +$(EXECS) : % : %.o astico2d.o + $(CC) -o $@ $^ $(LIBS) + +# Règle de nettoyage +clean :: + $(RM) *.o *~ $(EXECS) tmp*.* + diff --git a/astico2d.cpp b/astico2d.cpp new file mode 100644 index 0000000..cfc4c0b --- /dev/null +++ b/astico2d.cpp @@ -0,0 +1,691 @@ +/* + Module d'interface utilisateur pour Astico2D : + Atelier Simple de Transformations d'Images au Clavier avec OpenCV en 2D + + CC BY-SA Edouard.Thiel@univ-amu.fr - 04/09/2021 - v1.0 +*/ + +#include "astico2d.hpp" + + +//---------------------------- C O U L E U R S -------------------------------- + +void representer_en_couleurs_vga (cv::Mat &img_niv, cv::Mat &img_coul) +{ + CHECK_MAT_TYPE(img_niv, CV_32SC1); + CHECK_MAT_TYPE(img_coul, CV_8UC3); + + unsigned char couls[16][3] = { // R, G, B + { 0, 0, 0 }, // 0 black -> 0 uniquement + { 30, 30, 230 }, // 1 blue -> 1, 15, 29, ... + { 30, 200, 30 }, // 2 green -> 2, 16, 30, ... + { 30, 200, 200 }, // 3 cyan -> 3, 17, 31, ... + { 200, 30, 30 }, // 4 red -> 4, 18, 32, ... + { 200, 30, 200 }, // 5 magenta -> 5, 19, 33, ... + { 200, 130, 50 }, // 6 brown -> 6, 20, 34, ... + { 200, 200, 200 }, // 7 light gray -> 7, 21, 35, ... + { 110, 110, 140 }, // 8 dark gray -> 8, 22, 36, ... + { 84, 130, 252 }, // 9 light blue -> 9, 23, 37, ... + { 84, 252, 84 }, // 10 light green -> 10, 24, 38, ... + { 84, 252, 252 }, // 11 light cyan -> 11, 25, 39, ... + { 252, 84, 84 }, // 12 light red -> 12, 26, 40, ... + { 252, 84, 252 }, // 13 light magenta -> 13, 27, 41, ... + { 252, 252, 84 }, // 14 yellow -> 14, 28, 42, ... + { 252, 252, 252 }, // 15 white -> 255 uniquement + }; + + for (int y = 0; y < img_niv.rows; y++) + for (int x = 0; x < img_niv.cols; x++) + { + int g = img_niv.at(y,x), c = 0; + if (g == 255) c = 15; // seul 255 est blanc + else if (g != 0) c = 1 + abs(g-1) % 14; // seul 0 est noir + // Attention img_coul est en B, G, R -> inverser les canaux + img_coul.at(y,x)[0] = couls[c][2]; + img_coul.at(y,x)[1] = couls[c][1]; + img_coul.at(y,x)[2] = couls[c][0]; + } +} + + +void inverser_couleurs (cv::Mat &img) +{ + CHECK_MAT_TYPE(img, CV_8UC3); + + for (int y = 0; y < img.rows; y++) + for (int x = 0; x < img.cols; x++) + { + img.at(y,x)[0] = 255 - img.at(y,x)[0]; + img.at(y,x)[1] = 255 - img.at(y,x)[1]; + img.at(y,x)[2] = 255 - img.at(y,x)[2]; + } +} + + +//--------------------------------- L O U P E --------------------------------- + +void Loupe::reborner (cv::Mat &res1, cv::Mat &res2) +{ + int bon_zoom = zoom >= 1 ? zoom : 1; + + int h = res2.rows / bon_zoom; + int w = res2.cols / bon_zoom; + + if (zoom_x0 < 0) zoom_x0 = 0; + zoom_x1 = zoom_x0 + w; + if (zoom_x1 > res1.cols) { + zoom_x1 = res1.cols; + zoom_x0 = zoom_x1 - w; + if (zoom_x0 < 0) zoom_x0 = 0; + } + + if (zoom_y0 < 0) zoom_y0 = 0; + zoom_y1 = zoom_y0 + h; + if (zoom_y1 > res1.rows) { + zoom_y1 = res1.rows; + zoom_y0 = zoom_y1 - h; + if (zoom_y0 < 0) zoom_y0 = 0; + } +} + + +void Loupe::deplacer (cv::Mat &res1, cv::Mat &res2, int dx, int dy) +{ + zoom_x0 += dx; zoom_y0 += dy; + zoom_x1 += dx; zoom_y1 += dy; + reborner (res1, res2); +} + + +int Loupe::calculer_zoom_optimal (cv::Mat &src) +{ + // On autorise l'image à dépasser de 10% + int zh = opt_h * 110 / (src.rows * 100), + zw = opt_w * 110 / (src.cols * 100); + int z = zh < zw ? zh : zw; + if (z < 1) z = 1; else if (z > zoom_max) z = zoom_max; + return z; +} + + +void Loupe::calculer_portion_optimale (cv::Mat &src, int &ph, int &pw) +{ + ph = ((src.rows * zoom - 1) / vue_inc +1) * vue_inc; + pw = ((src.cols * zoom - 1) / vue_inc +1) * vue_inc; + if (ph < vue_min) ph = vue_min; else if (ph > opt_h) ph = opt_h; + if (pw < vue_min) pw = vue_min; else if (pw > opt_w) pw = opt_w; +} + + +void Loupe::dessiner_rect (cv::Mat &src, cv::Mat &dest) +{ + dest = src.clone(); + if (zoom == 0) return; + cv::Point p0 = cv::Point(zoom_x0, zoom_y0), + p1 = cv::Point(zoom_x1, zoom_y1); + cv::rectangle(dest, p0, p1, cv::Scalar (255, 255, 255), 3, 4); + cv::rectangle(dest, p0, p1, cv::Scalar ( 0, 0, 255), 1, 4); +} + + +void Loupe::dessiner_portion (cv::Mat &src, cv::Mat &dest) +{ + CHECK_MAT_TYPE(src, CV_8UC3); + + int bon_zoom = zoom >= 1 ? zoom : 1; + + for (int y = 0; y < dest.rows; y++) + for (int x = 0; x < dest.cols; x++) + { + int x0 = zoom_x0 + x / bon_zoom; + int y0 = zoom_y0 + y / bon_zoom; + + if (x0 < 0 || x0 >= src.cols || y0 < 0 || y0 >= src.rows) { + dest.at(y,x)[0] = 64; + dest.at(y,x)[1] = 64; + dest.at(y,x)[2] = 64; + continue; + } + dest.at(y,x)[0] = src.at(y0,x0)[0]; + dest.at(y,x)[1] = src.at(y0,x0)[1]; + dest.at(y,x)[2] = src.at(y0,x0)[2]; + } +} + + +void Loupe::afficher_tableau_niveaux (cv::Mat &src, int ex, int ey, int rx, int ry) +{ + CHECK_MAT_TYPE(src, CV_32SC1); + + int bon_zoom = zoom >= 1 ? zoom : 1; + int cx = zoom_x0 + ex / bon_zoom; + int cy = zoom_y0 + ey / bon_zoom; + int x1 = cx-rx, x2 = cx+rx, y1 = cy-ry, y2 = cy+ry; + + int vmin = 0, vmax = 0; + for (int y = y1; y <= y2; y++) { + for (int x = x1; x <= x2; x++) { + if (x < 0 || x >= src.cols || y < 0 || y >= src.rows) + continue; + int v = src.at(y,x); + if (v < vmin) vmin = v; + else if (v > vmax) vmax = v; + } + } + int n1 = ceil(log10(abs(vmin)+1)), n2 = ceil(log10(abs(vmax)+1)); + if (vmin < 0) n1++; // signe + if (vmax < 0) n2++; + int n = std::max(n1,n2); // nb de chiffres + + std::cout << "Valeurs autour de " << cx << "," << cy << " :" << std::endl; + + for (int y = y1; y <= y2; y++) { + for (int x = x1; x <= x2; x++) { + if (x < 0 || x >= src.cols || y < 0 || y >= src.rows) + std::cout << std::setw(n+1) << "* " ; // hors de l'image + else std::cout << std::setw(n) << src.at(y,x) << " "; + } + std::cout << std::endl; + } + std::cout << std::endl; +} + + +void Loupe::afficher_tableau_couleurs (cv::Mat &src, int ex, int ey, int rx, int ry) +{ + CHECK_MAT_TYPE(src, CV_8UC3); + + int bon_zoom = zoom >= 1 ? zoom : 1; + int cx = zoom_x0 + ex / bon_zoom; + int cy = zoom_y0 + ey / bon_zoom; + int x1 = cx-rx, x2 = cx+rx, y1 = cy-ry, y2 = cy+ry; + + int n = 3; // nb de chiffres + + std::cout << "Valeurs autour de " << cx << "," << cy << " :" << std::endl; + + for (int y = y1; y <= y2; y++) { + for (int x = x1; x <= x2; x++) { + if (x < 0 || x >= src.cols || y < 0 || y >= src.rows) + // hors de l'image + std::cout << "(" + << std::setw(n) << "* " << "," + << std::setw(n) << "* " << "," + << std::setw(n) << "* " << ") "; + else { + int cR = src.at(y,x)[2], + cV = src.at(y,x)[1], + cB = src.at(y,x)[0]; + std::cout << "(" + << std::setw(n) << cR << "," + << std::setw(n) << cV << "," + << std::setw(n) << cB << ") "; + } + } + std::cout << std::endl; + } + std::cout << std::endl; +} + + +//----------------------------- A S T I C O 2 D ------------------------------- + + +Astico2D::Astico2D (int &argc, char **&argv) : temps() +{ + if (analyser_arguments (argc, argv) != 0) { init_ok = false ; return; } + if (lire_image_entree () != 0) { init_ok = false ; return; } + creer_images_resultat (); + creer_fenetres (); +} + + +int Astico2D::run () +{ + if (! init_ok) return 1; + afficher_touches_clavier (); + traiter_evenements (); + return (enregistrer_image_resultat () == 0) ? 0 : 1; +} + + +void Astico2D::afficher_usage (const char *nom_prog) { + std::cout << "Usage: " << nom_prog + << " [-mag w h] [-thr seuil] [-o image_res] image_src" + << " [autres options]" + << std::endl; +} + + +int Astico2D::analyser_arguments (int &argc, char **&argv) +{ + nom_out2 = NULL; + + char *nom_prog = argv[0]; + argc -= 1; argv += 1; + + while (argc > 0) { + if (!strcmp(argv[0], "-mag")) { + if (argc-1 < 3) { afficher_usage(nom_prog); return 1; } + zoom_w = atoi(argv[1]); + zoom_h = atoi(argv[2]); + argc -= 3; argv += 3; + } else if (!strcmp(argv[0], "-thr")) { + if (argc-1 < 2) { afficher_usage(nom_prog); return 1; } + seuil_niv = atoi(argv[1]); + argc -= 2; argv += 2; + } else if (!strcmp(argv[0], "-o")) { + if (argc-1 < 2) { afficher_usage(nom_prog); return 1; } + nom_out2 = argv[1]; + argc -= 2; argv += 2; + } else break; + } + + if (argc < 1) { afficher_usage(nom_prog); return 1; } + nom_in1 = argv[0]; + argc -= 1; argv += 1; + + // Les arguments supplémentaires restent dans argc,argv et peuvent être + // analysés dans le constructeur d'une classe fille après l'appel du + // constructeur de la classe mère. + return 0; +} + + +int Astico2D::lire_image_entree () +{ + img_src = cv::imread (nom_in1, cv::IMREAD_COLOR); // produit du 8UC3 + if (img_src.empty()) { + std::cout << "Erreur de lecture de \"" << nom_in1 << "\"," + << " ou format incompatible de l'image." << std::endl; + return -1; + } + return 0; +} + + +int Astico2D::enregistrer_image_resultat () +{ + if (!nom_out2) return 0; + + int res = cv::imwrite (nom_out2, img_coul); + if (res) std::cout << "Enregistrement reussi"; + else std::cout << "Erreur d'enregistrement"; + std::cout << " dans \"" << nom_out2 << "\"." << std::endl; + return res ? 0 : -1; +} + + +void Astico2D::creer_images_resultat () +{ + img_res1 = cv::Mat(img_src.rows, img_src.cols, CV_8UC3); + img_res2 = cv::Mat(zoom_h, zoom_w, CV_8UC3); + img_niv = cv::Mat(img_src.rows, img_src.cols, CV_32SC1); + img_coul = cv::Mat(img_src.rows, img_src.cols, CV_8UC3); + loupe.reborner(img_res1, img_res2); +} + + +void Astico2D::creer_slider (const char* nom_slider, int *valeur_courante, + int valeur_max) +{ + cv::createTrackbar (nom_slider, "ImageSrc", valeur_courante, valeur_max, + onDefaultTrackbarSlide, this); +} + + +void Astico2D::modifier_slider (const char* nom_slider, int nouvelle_valeur) +{ + cv::setTrackbarPos (nom_slider, "ImageSrc", nouvelle_valeur); +} + + +void Astico2D::diminuer_slider (const char* nom_slider, int valeur_min) +{ + int nouv = cv::getTrackbarPos (nom_slider, "ImageSrc") - 1; + if (nouv >= valeur_min) modifier_slider (nom_slider, nouv); +} + + +void Astico2D::augmenter_slider (const char* nom_slider, int valeur_max) +{ + int nouv = cv::getTrackbarPos (nom_slider, "ImageSrc") + 1; + if (nouv <= valeur_max) modifier_slider (nom_slider, nouv); +} + + +void Astico2D::creer_fenetres () +{ + cv::namedWindow ("ImageSrc", cv::WINDOW_AUTOSIZE); + cv::createTrackbar ("Zoom", "ImageSrc", &loupe.zoom, loupe.zoom_max, + onZoomSlide, this); + creer_slider ("Seuil", &seuil_niv, seuil_max); + cv::setMouseCallback ("ImageSrc", onMouseEventSrc, this); + + cv::namedWindow ("Loupe", cv::WINDOW_AUTOSIZE); + cv::setMouseCallback ("Loupe", onMouseEventLoupe, this); +} + + +void Astico2D::traiter_evenements () +{ + for (;;) { + + if (recalc == R_TOUTES) + { + if (mode_transfo == M_NIVEAUX) { + //std::cout << "Calcul img_niv" << std::endl; + cv::Mat img_gry; + cv::cvtColor (img_src, img_gry, cv::COLOR_BGR2GRAY); + cv::threshold (img_gry, img_gry, seuil_niv, 255, cv::THRESH_BINARY); + img_gry.convertTo (img_niv, CV_32SC1,1., 0.); + } else { + img_coul = img_src.clone(); + } + + if (mode_transfo != M_AUCUN && touche_transfo != 0) { + //std::cout << "Calcul tranformations pour '" + // << char(touche_transfo) << "'" << std::endl; + double t1 = temps.mesurer (); + // RQ : cet appel doit produire une image couleur dans img_coul. + effectuer_transformations (); + double t2 = temps.mesurer (); + if (MESURER_TEMPS) { + std::cout << "Duree transformations : " + << std::to_string(t2-t1) << " s" << std::endl; + } + } else if (mode_transfo == M_NIVEAUX) { + representer_en_couleurs_vga (img_niv, img_coul); + } + } + + if (recalc == R_TOUTES || recalc == R_LOUPE) { + //std::cout << "Calcul images loupe" << std::endl; + loupe.dessiner_rect (img_coul, img_res1); + loupe.dessiner_portion (img_coul, img_res2); + cv::imshow ("ImageSrc", img_res1); + cv::imshow ("Loupe" , img_res2); + } + + recalc = R_RIEN; + + // Attente du prochain événement sur toutes les fenêtres, avec un + // timeout de 15ms pour détecter les changements de flags + int key = cv::waitKey (15); + + // Gestion des événements clavier avec une callback "maison" que l'on + // appelle nous-même. Les Callbacks souris et slider sont directement + // appelées par waitKey lors de l'attente. + if (onKeyPressEvent (key, this) < 0) break; + } +} + + +// Callbacks des sliders + +void Astico2D::onZoomSlide (int pos, void *data) +{ + Astico2D *ao = (Astico2D*) data; + ao->loupe.reborner (ao->img_res1, ao->img_res2); + ao->recalc = R_LOUPE; +} + +void Astico2D::onDefaultTrackbarSlide (int pos, void *data) +{ + Astico2D *ao = (Astico2D*) data; + ao->recalc = R_TOUTES; +} + + +// Callback pour la souris + +void Astico2D::onMouseEventSrc (int event, int x, int y, int flags, void *data) +{ + Astico2D *ao = (Astico2D*) data; + switch (event) { + case cv::EVENT_LBUTTONDOWN : + ao->clic_x = x; + ao->clic_y = y; + ao->clic_n = 1; + break; + case cv::EVENT_MOUSEMOVE : + // std::cout << "mouse move " << x << "," << y << std::endl; + if (ao->clic_n == 1) { + ao->loupe.deplacer (ao->img_res1, ao->img_res2, + x - ao->clic_x, y - ao->clic_y); + ao->clic_x = x; + ao->clic_y = y; + ao->recalc = R_LOUPE; + } + break; + case cv::EVENT_LBUTTONUP : + ao->clic_n = 0; + break; + } +} + + +void Astico2D::onMouseEventLoupe (int event, int x, int y, int flags, void *data) +{ + Astico2D *ao = (Astico2D*) data; + switch (event) { + case cv::EVENT_LBUTTONDOWN : + if (ao->mode_transfo == M_NIVEAUX) + ao->loupe.afficher_tableau_niveaux (ao->img_niv, x, y, 5, 4); + else ao->loupe.afficher_tableau_couleurs (ao->img_coul, x, y, 2, 3); + break; + } +} + + +// Gestion du clavier + +void Astico2D::afficher_touches_clavier () +{ + std::cout << + "Touches du clavier :\n" + " a affiche cette aide\n" + " Esc quitte (et enregistre image_res)\n" + " hHlL change la hauteur ou largeur de la loupe\n" + " jJkK deplace la loupe\n" + " zZ change le zoom\n" + " g agrandit la loupe et adapte le zoom\n" + " i inverse les couleurs de l'image d'origine\n" + " os affiche l'image d'origine ou seuillee\n" + " eE change le seuil\n"; +} + + +int Astico2D::onKeyPressEvent (int key, void *data) +{ + Astico2D *ao = (Astico2D*) data; + if (key < 0) return 0; // aucune touche pressée + key &= 255; // pour comparer avec un char + + switch (key) { + case 'a' : + ao->afficher_touches_clavier(); + break; + case 27 : // ESC pour quitter + return -1; + case 'h' : + case 'H' : + case 'l' : + case 'L' : { + int h = ao->img_res2.rows, w = ao->img_res2.cols, + a = ao->loupe.vue_min, b = ao->loupe.vue_max, + i = ao->loupe.vue_inc; + if (key == 'h') h = (h >= a+i) ? h-i : a; + else if (key == 'H') h = (h <= b-i) ? h+i : b; + else if (key == 'l') w = (w >= a+i) ? w-i : a; + else if (key == 'L') w = (w <= b-i) ? w+i : b; + std::cout << "Taille loupe " << w << "x" << h << std::endl; + ao->img_res2 = cv::Mat(h, w, CV_8UC3); + ao->loupe.reborner(ao->img_res1, ao->img_res2); + ao->recalc = R_LOUPE; + break; + } + case 'j' : + ao->loupe.deplacer (ao->img_res1, ao->img_res2, 0, -1); + ao->recalc = R_LOUPE; + break; + case 'J' : + ao->loupe.deplacer (ao->img_res1, ao->img_res2, 0, 1); + ao->recalc = R_LOUPE; + break; + case 'k' : + ao->loupe.deplacer (ao->img_res1, ao->img_res2, -1, 0); + ao->recalc = R_LOUPE; + break; + case 'K' : + ao->loupe.deplacer (ao->img_res1, ao->img_res2, 1, 0); + ao->recalc = R_LOUPE; + break; + case 'z' : + ao->diminuer_slider ("Zoom", 1); + break; + case 'Z' : + ao->augmenter_slider ("Zoom", ao->loupe.zoom_max); + break; + case 'g' : { + int z = ao->loupe.calculer_zoom_optimal (ao->img_src); + ao->modifier_slider ("Zoom", z); + int ph, pw; + ao->loupe.calculer_portion_optimale (ao->img_src, ph, pw); + std::cout << "Taille loupe " << pw << "x" << ph + <<" zoom " << z << std::endl; + ao->img_res2 = cv::Mat(ph, pw, CV_8UC3); + ao->loupe.reborner(ao->img_res1, ao->img_res2); + ao->recalc = R_LOUPE; + break; + } + case 'i' : + std::cout << "Couleurs inversees" << std::endl; + inverser_couleurs(ao->img_src); + ao->recalc = R_TOUTES; + break; + case 'o' : + std::cout << "Image originale" << std::endl; + ao->recalc = R_TOUTES; + ao->mode_transfo = M_AUCUN; + break; + case 's' : + std::cout << "Image seuillee" << std::endl; + ao->recalc = R_TOUTES; + ao->mode_transfo = M_NIVEAUX; + ao->touche_transfo = 0; + break; + case 'e' : + ao->diminuer_slider ("Seuil", 0); + break; + case 'E' : + ao->augmenter_slider ("Seuil", ao->seuil_max); + break; + + default : + if (ao->traiter_touche_clavier (key)) { + ao->recalc = R_TOUTES; + } + break; + } + return 1; +} + + +//------------------------ M E S U R E T E M P S ---------------------------- + +// Mesure du temps. +// Code extrait de EZ-Draw version 1.2 (LGPL), Edouard.Thiel@univ-amu.fr + +#if MESURER_TEMPS + +MesureTemps::MesureTemps () +{ +# ifdef _WIN32 +_init_timeofday (); +# endif +} + + +// Return the elapsed time since the Epoch in seconds,microseconds +double MesureTemps::mesurer () +{ + struct timeval tp; + _gettimeofday (&tp); + return (double) tp.tv_sec + (double) tp.tv_usec / (double) 1E6; +} + + +# ifdef _WIN32 + +// Initialize time computation. + +void MesureTemps::_init_timeofday (void) +{ + LARGE_INTEGER freq; + + _perf_freq = 0; + _get_systemtime (&_start_time); + QueryPerformanceCounter (&_start_count); + + if (QueryPerformanceFrequency (&freq) && freq.QuadPart > 0) + _perf_freq = 1.0 / freq.QuadPart; +} + + +// Emulate gettimeofday() with GetSystemTimeAsFileTime(). +// GetSystemTimeAsFileTime() has an accuracy of 15ms (10ms on XP). +// GetSystemTimePreciseAsFileTime() has an accuracy of 1ms but needs +// windows >= 8, and seems rather expensive. + +void MesureTemps::_get_systemtime (struct timeval *t) +{ + ULARGE_INTEGER ul; + FILETIME ft; + double dt; + if (t == NULL) return; + GetSystemTimeAsFileTime (&ft); + ul.LowPart = ft.dwLowDateTime; + ul.HighPart = ft.dwHighDateTime; + dt = ul.QuadPart / 10000000.0 - 11644473600.0; + t->tv_sec = dt; + t->tv_usec = (dt - t->tv_sec) * 1000000.0; +} + + +// Emulate gettimeofday() with QueryPerformanceCounter(). +// This method seems to be more accurate than _get_systemtime() +// but leads to a drift. + +void MesureTemps::_get_countertime (struct timeval *t) +{ + LARGE_INTEGER now; + double dt; + QueryPerformanceCounter (&now); + dt = (now.QuadPart - _start_count.QuadPart) * _perf_freq; + *t = _start_time; + t->tv_sec += dt; + t->tv_usec += (dt - (int)dt) * 1000000; + t->tv_sec += t->tv_usec / 1000000; + t->tv_usec %= 1000000; +} + +# endif // _WIN32 + + +// Compute elapsed time since the Epoch. + +void MesureTemps::_gettimeofday (struct timeval *t) +{ + if (t == NULL) return; +#ifdef _WIN32 + if (_perf_freq == 0) + _get_systemtime (t); + else _get_countertime (t); +#else + gettimeofday (t, NULL); +#endif +} + +#endif // MESURER_TEMPS + diff --git a/astico2d.hpp b/astico2d.hpp new file mode 100644 index 0000000..3dcd129 --- /dev/null +++ b/astico2d.hpp @@ -0,0 +1,136 @@ +/* + Module d'interface utilisateur pour Astico2D : + Atelier Simple de Transformations d'Images au Clavier avec OpenCV en 2D + + CC BY-SA Edouard.Thiel@univ-amu.fr - 03/09/2021 - v1.0 +*/ + +#include +#include +#include +#include + + +// Mesure du temps d'exécution ; mettre à 0 en cas de problème de compilation +#define MESURER_TEMPS 1 + + +#if MESURER_TEMPS +# ifdef _WIN32 +# include +# else +# include +# endif + +class MesureTemps { + public: + MesureTemps (); + double mesurer (); + + private: +# ifdef _WIN32 + struct timeval _start_time; // Initial date + LARGE_INTEGER _start_count; // Counter to compute time + double _perf_freq; // Frequency to compute time + void _init_timeofday (void); + void _get_systemtime (struct timeval *t); + void _get_countertime (struct timeval *t); +# endif + void _gettimeofday (struct timeval *t); +}; +#else // MESURER_TEMPS +class MesureTemps { + public: + MesureTemps () {} + double mesurer () { return 0.; }; +}; +#endif // MESURER_TEMPS + + +// Cette macro permet de vérifier si une image a le type attendu + +#define CHECK_MAT_TYPE(mat, format_type) \ + if (mat.type() != int(format_type)) \ + throw std::runtime_error(std::string(__func__) +\ + ": format non géré '" + std::to_string(mat.type()) +\ + "' pour la matrice '" # mat "'") + + +// Gestion des couleurs + +void representer_en_couleurs_vga (cv::Mat &img_niv, cv::Mat &img_coul); +void inverser_couleurs (cv::Mat &img); + + +// Classe Loupe pour afficher une portion de l'image avec un zoom + +class Loupe { + public: + int zoom = 5, zoom_max = 20; + int zoom_x0 = 0, zoom_y0 = 0, zoom_x1 = 100, zoom_y1 = 100; + int vue_min = 200, vue_max = 2000, vue_inc = 100; + int opt_w = 1600, opt_h = 1000; + + void reborner (cv::Mat &res1, cv::Mat &res2); + void deplacer (cv::Mat &res1, cv::Mat &res2, int dx, int dy); + int calculer_zoom_optimal (cv::Mat &src); + void calculer_portion_optimale (cv::Mat &src, int &ph, int &pw); + void dessiner_rect (cv::Mat &src, cv::Mat &dest); + void dessiner_portion (cv::Mat &src, cv::Mat &dest); + void afficher_tableau_niveaux (cv::Mat &src, int ex, int ey, int rx, int ry); + void afficher_tableau_couleurs (cv::Mat &src, int ex, int ey, int rx, int ry); +}; + + +// Classe Astico2D de gestion de l'interface utilisateur + +class Astico2D { + + public: + int init_ok = true; + char *nom_in1, *nom_out2; + cv::Mat img_src, img_res1, img_res2, img_niv, img_coul; + Loupe loupe; + int seuil_niv = 127, seuil_max = 255; + int clic_x = 0; + int clic_y = 0; + int clic_n = 0; + int zoom_w = 600, zoom_h = 500; + + enum RecalculsImages { R_RIEN, R_LOUPE, R_TOUTES }; + RecalculsImages recalc = R_TOUTES; + + char touche_transfo = 0; + enum ModeTransfo { M_AUCUN, M_NIVEAUX, M_COULEURS }; + ModeTransfo mode_transfo = M_AUCUN; + + MesureTemps temps; + + Astico2D (int &argc, char **&argv); + int run (); + + void afficher_usage (const char *nom_prog); + virtual void afficher_touches_clavier (); + int analyser_arguments (int &argc, char **&argv); + int lire_image_entree (); + int enregistrer_image_resultat (); + void creer_images_resultat (); + void creer_slider (const char* nom_slider, int *valeur_courante, + int valeur_max); + void modifier_slider (const char* nom_slider, int nouvelle_valeur); + void diminuer_slider (const char* nom_slider, int valeur_min); + void augmenter_slider (const char* nom_slider, int valeur_max); + + void creer_fenetres (); + void traiter_evenements (); + virtual bool traiter_touche_clavier (char key) { return false; }; + virtual void effectuer_transformations () {}; + + private: + static void onZoomSlide (int pos, void *data); + static void onDefaultTrackbarSlide (int pos, void *data); + static void onMouseEventSrc (int event, int x, int y, int flags, void *data); + static void onMouseEventLoupe (int event, int x, int y, int flags, void *data); + static int onKeyPressEvent (int key, void *data); +}; + diff --git a/demo1.cpp b/demo1.cpp new file mode 100644 index 0000000..f78ddf8 --- /dev/null +++ b/demo1.cpp @@ -0,0 +1,165 @@ +/* + demo1.cpp - exemple d'utilisation de Astico2D + + CC BY-SA Edouard.Thiel@univ-amu.fr - 22/08/2021 + + Usage : + $ make demo1 + $ ./demo1 [-mag width height] [-thr seuil] image_in [image_out] +*/ + +/* + Pour le rendu de TP : + - renommez ce fichier tp-.cpp + - écrivez ci-dessous vos NOMS Prénoms et la date de la version : + + [et ] - version du +*/ + + +#include "astico2d.hpp" + + +//----------------------- T R A N S F O R M A T I O N S ----------------------- + +// Placez ici vos fonctions de transformations à la place de ces exemples + + +void transformer_bandes_horizontales (cv::Mat &img_niv) +{ + CHECK_MAT_TYPE(img_niv, CV_32SC1); + + for (int y = 0; y < img_niv.rows; y++) + for (int x = 0; x < img_niv.cols; x++) + { + int g = img_niv.at(y,x); + if (g > 0) { + img_niv.at(y,x) = y; + } + } +} + + +void transformer_bandes_verticales (cv::Mat &img_niv) +{ + CHECK_MAT_TYPE(img_niv, CV_32SC1); + + for (int y = 0; y < img_niv.rows; y++) + for (int x = 0; x < img_niv.cols; x++) + { + int g = img_niv.at(y,x); + if (g > 0) { + img_niv.at(y,x) = x; + } + } +} + + +void transformer_bandes_diagonales (cv::Mat &img_niv) +{ + CHECK_MAT_TYPE(img_niv, CV_32SC1); + + for (int y = 0; y < img_niv.rows; y++) + for (int x = 0; x < img_niv.cols; x++) + { + int g = img_niv.at(y,x); + if (g > 0) { + img_niv.at(y,x) = x+y; + } + } +} + + +//----------------------------- I N T E R F A C E ----------------------------- + + +class MonApp : public Astico2D { + + public: + // Déclarez ici d'autres membres éventuels + + + MonApp (int argc, char **argv) : + Astico2D (argc, argv) + // initialisez ici vos classes membre éventuelles + { + if (!init_ok) return; // erreur dans l'initialisation + + // Autres actions du constructeur + } + + + void afficher_touches_clavier () override + { + // Ceci affiche l'aide de base + Astico2D::afficher_touches_clavier (); + + // Indiquez ici les touches du clavier et vos transformations + std::cout << + " 1 dessine des bandes horizontales\n" + " 2 dessine des bandes verticales\n" + " 3 dessine des bandes diagonales\n" + << std::endl; + } + + + bool traiter_touche_clavier (char key) override + { + switch (key) { + + // Gérez ici les touches de flags. + + // Rajoutez ici les touches pour effectuer_transformations. + case '1' : + case '2' : + case '3' : + // On mémorise la touche pressée + touche_transfo = key; + // On précise le mode : M_NIVEAUX ou M_COULEURS + mode_transfo = M_NIVEAUX; + break; + + default : return false; // touche non traitée + } + return true; // touche traitée + } + + + void effectuer_transformations () override + { + // Appelez ici vos transformations selon touche_transfo et mode_transfo : + // - si mode_transfo est M_NIVEAUX, l'image d'entrée est l'image seuillée + // img_niv, de type CV_32SC1 ; à la fin, pour l'affichage, il faut la + // convertir en couleur dans img_coul, de type CV_8UC3, par exemple avec + // representer_en_couleurs_vga. + // - si mode_transfo est M_COULEURS, travaillez directement sur img_coul, + // de type CV_8UC3, elle sera affichée telle quelle. + + switch (touche_transfo) { + case '1' : + transformer_bandes_horizontales (img_niv); + representer_en_couleurs_vga (img_niv, img_coul); + break; + case '2' : + transformer_bandes_verticales (img_niv); + representer_en_couleurs_vga (img_niv, img_coul); + break; + case '3' : + transformer_bandes_diagonales (img_niv); + representer_en_couleurs_vga (img_niv, img_coul); + break; + } + } + +}; + + +//---------------------------------- M A I N ---------------------------------- + + +int main (int argc, char **argv) +{ + MonApp app (argc, argv); + return app.run (); +} + diff --git a/demo2.cpp b/demo2.cpp new file mode 100644 index 0000000..800f3b5 --- /dev/null +++ b/demo2.cpp @@ -0,0 +1,244 @@ +/* + demo2.cpp - exemple d'utilisation de Astico2D + + CC BY-SA Edouard.Thiel@univ-amu.fr - 22/08/2021 + + Usage : + $ make demo2 + $ ./demo2 [-mag width height] [-thr seuil] image_in [image_out] +*/ + +/* + Pour le rendu de TP : + - renommez ce fichier tp-.cpp + - écrivez ci-dessous vos NOMS Prénoms et la date de la version : + + [et ] - version du +*/ + + +#include "astico2d.hpp" + + +//----------------------- T R A N S F O R M A T I O N S ----------------------- + +// Placez ici vos fonctions de transformations à la place de ces exemples + + +enum NatureDessin { D_BLANC, D_NOIR, D_BLEU, D_INV, D_LAST }; +char const *nom_dessins[4] = {"blanc", "noir", "bleu", "inverse"}; + + +void dessiner_damier_couleur (cv::Mat &img_coul, int taille, + int coulR, int coulG, int coulB) +{ + CHECK_MAT_TYPE(img_coul, CV_8UC3); + + for (int y = 0; y < img_coul.rows; y++) + for (int x = 0; x < img_coul.cols; x++) + { + int numero_case_x = x / taille; + int numero_case_y = y / taille; + if ((numero_case_x + numero_case_y) % 2) { + // Attention img_coul est en B, G, R + img_coul.at(y,x)[0] = coulB; + img_coul.at(y,x)[1] = coulG; + img_coul.at(y,x)[2] = coulR; + } + } +} + + +void dessiner_damier_inverse (cv::Mat &img_coul, int taille) +{ + CHECK_MAT_TYPE(img_coul, CV_8UC3); + + for (int y = 0; y < img_coul.rows; y++) + for (int x = 0; x < img_coul.cols; x++) + { + int numero_case_x = x / taille; + int numero_case_y = y / taille; + if ((numero_case_x + numero_case_y) % 2) { + img_coul.at(y,x)[0] = 255 - img_coul.at(y,x)[0]; + img_coul.at(y,x)[1] = 255 - img_coul.at(y,x)[1]; + img_coul.at(y,x)[2] = 255 - img_coul.at(y,x)[2]; + } + } +} + + +void dessiner_damier (cv::Mat &img_coul, int taille, NatureDessin nat) +{ + switch (nat) { + case D_BLANC : + dessiner_damier_couleur (img_coul, taille, 255, 255, 255); + break; + case D_NOIR : + dessiner_damier_couleur (img_coul, taille, 0, 0, 0); + break; + case D_BLEU : + dessiner_damier_couleur (img_coul, taille, 0, 0, 255); + break; + case D_INV : + dessiner_damier_inverse (img_coul, taille); + break; + + default : + std::cout << "Erreur, nature de dessin non prevu" << std::endl; + } +} + + +void calculer_differences_en_x (cv::Mat &img_niv) +{ + CHECK_MAT_TYPE(img_niv, CV_32SC1); + + // Remarque : l'image img_niv étant seuillée (valeurs 0 ou 255), le + // résultat sera dans { -255, 0, 255 }. + for (int y = img_niv.rows-1; y > 0; y--) + for (int x = img_niv.cols-1; x > 0; x--) + { + img_niv.at(y,x) = img_niv.at(y,x) - img_niv.at(y,x-1); + } +} + + +void representer_en_rouge_ou_vert (cv::Mat &img_niv, cv::Mat &img_coul) +{ + CHECK_MAT_TYPE(img_niv, CV_32SC1); + CHECK_MAT_TYPE(img_coul, CV_8UC3); + + // Palette rouge dans les valeurs négatives, vert dans les valeurs positives + for (int y = 0; y < img_niv.rows; y++) + for (int x = 0; x < img_niv.cols; x++) + { + int g = img_niv.at(y,x); + // Attention img_coul est en B, G, R + if (g >= 0) { + img_coul.at(y,x)[0] = 0; + img_coul.at(y,x)[1] = g % 256; // Vert + img_coul.at(y,x)[2] = 0; + } else { + img_coul.at(y,x)[0] = 0; + img_coul.at(y,x)[1] = 0; + img_coul.at(y,x)[2] = (-g) % 256 ; // Rouge + } + } +} + + +//----------------------------- I N T E R F A C E ----------------------------- + + +class MonApp : public Astico2D { + + public: + // Déclarez ici d'autres membres éventuels + int taille = 20, taille_max = 100; + NatureDessin nature_dessin = D_BLANC; + + + MonApp (int argc, char **argv) : + Astico2D (argc, argv) + // initialisez ici vos classes membre éventuelles + { + if (!init_ok) return; // erreur dans l'initialisation + + // On crée ici un slider "Taille" qui manipulera le membre taille de 0 + // à taille_max. + creer_slider ("Taille", &taille, taille_max); + + // On affiche les arguments supplémentaires de la ligne de commande + std::cout << "Arguments restant : argc = " << argc; + if (argc > 0) { + std::cout << " argv ="; + for (int i = 0; i < argc; i++) std::cout << " " << argv[i]; + } + std::cout << std::endl; + } + + + void afficher_touches_clavier () override + { + // Ceci affiche l'aide de base + Astico2D::afficher_touches_clavier (); + + // Indiquez ici les touches du clavier et vos transformations + std::cout << + " 1 dessine un damier sur l'image seuillee\n" + " tT deplace le slider Taille\n" + " n change la nature du dessin\n" + << std::endl; + } + + + bool traiter_touche_clavier (char key) override + { + switch (key) { + + // Gérez ici les touches de flags. + case 't' : diminuer_slider ("Taille", 0); break; + case 'T' : augmenter_slider ("Taille", taille_max); break; + + case 'n' : { + int suiv = static_cast(nature_dessin)+1; + nature_dessin = static_cast(suiv); + if (nature_dessin == D_LAST) nature_dessin = D_BLANC; + std::cout << "Nature dessin : " + << nom_dessins[static_cast(nature_dessin)] << std::endl; + break; + } + + // Rajoutez ici les touches pour effectuer_transformations. + case '1' : + // On mémorise la touche pressée + touche_transfo = key; + // On précise le mode : M_NIVEAUX ou M_COULEURS + mode_transfo = M_COULEURS; + break; + + case '2' : + touche_transfo = key; + mode_transfo = M_NIVEAUX; + break; + + default : return false; // touche non traitée + } + return true; // touche traitée + } + + + void effectuer_transformations () override + { + // Appelez ici vos transformations selon touche_transfo et mode_transfo : + // - si mode_transfo est M_NIVEAUX, l'image d'entrée est l'image seuillée + // img_niv, de type CV_32SC1 ; à la fin, pour l'affichage, il faut la + // convertir en couleur dans img_coul, de type CV_8UC3, par exemple avec + // representer_en_couleurs_vga. + // - si mode_transfo est M_COULEURS, travaillez directement sur img_coul, + // de type CV_8UC3, elle sera affichée telle quelle. + + switch (touche_transfo) { + case '1' : // M_COULEURS + dessiner_damier (img_coul, taille, nature_dessin); + break; + + case '2' : // M_NIVEAUX + calculer_differences_en_x (img_niv); + representer_en_rouge_ou_vert (img_niv, img_coul); + break; + } + } + +}; + + +//---------------------------------- M A I N ---------------------------------- + + +int main (int argc, char **argv) +{ + MonApp app (argc, argv); + return app.run (); +} + diff --git a/index.html b/index.html new file mode 100644 index 0000000..1e2cb8d --- /dev/null +++ b/index.html @@ -0,0 +1,83 @@ + + + + Astico2D + + + + + + + +

+
+ Astico2D +
+
+ Lien court : + j.mp/astico2d +
+
+ +
+ +

+ Atelier Simple de Transformations d'Images au Clavier avec OpenCV en 2D +

+ +

+ CC BY-SA - + 2021, version 1.0 - + Edouard Thiel +

+ +

+ Astico2D est un module qui permet d'écrire de petits programmes en C++, pour + appliquer des transformations sur une image couleur, l'inverser ou faire un + seuil en noir et blanc, afficher l'image résultat et zoomer sur une portion. + Le module s'appuie sur la librairie OpenCV, + disponible pour les systèmes Linux, windows et MacOS. +

+ + + + + + + + + + + + + + +
astico2d.tgzTéléchargez les sources prêts à compiler, avec quelques images de test.
InstallationLa documentation pour installer et compiler.
CaptureUne capture d'écran.
+ +

+ L'interface est extrêmement simple et s'appuie sur HighGui, le petit GUI + intégré à OpenCV : le but est de n'avoir rien d'autre à installer qu'un + compilateur C++, make et OpenCV pour développer. + Les opérations sont déclenchées par des touches du clavier ou la souris. + Les images en entrée doivent être de petite taille, en couleur ou noir + et blanc. +

+ +

+ Des petits exemples commentés sont fournis, qui montrent comment écrire + un programme utilisant Astico2D pour programmer des algorithmes de + transformations d'image : + demo1.cpp, demo2.cpp. + Ces exemples peuvent être directement copiés comme fichier de départ + pour des TP d'imagerie. +

+ +
+ + + + + + diff --git a/install-astico2d.txt b/install-astico2d.txt new file mode 100644 index 0000000..9917843 --- /dev/null +++ b/install-astico2d.txt @@ -0,0 +1,168 @@ +Installation de OpenCV et Astico2D +================================== + +CC-BY Edouard.Thiel@univ-amu.fr - 14/09/2021 + + +Sommaire : + 0. Préambule + 1. Sur Ubuntu + 2. Sur Windows + 2.1 Sur Windows 10 avec WSL ou WSL2 + 2.2 Sur Windows 10 avec MinGW64 + 3. Sur MacOS + + +0. Préambule + --------- + + Téléchargez les sources astico2d.tgz puis décompressez l'archive. + + +1. Sur Ubuntu + ---------- + + Ouvrez un terminal puis tapez : + sudo apt install g++ make libopencv-dev + + Allez ensuite dans le répertoire de Astico2D avec la commande cd, puis tapez + make -j all + ./demo1 IMAGES/chat1.jpg + + Si lors de la compilation il y a des messages d'erreur relatifs à pkg-config + (par exemple sur Ubuntu <= 18.04), éditez le fichier Makefile, remplacez + "OPENCV = opencv4" par "OPENCV = opencv" puis relancez la compilation. + + +2. Sur Windows + ----------- + +2.1 Sur Windows 10 avec WSL ou WSL2 + ------------------------------- + + WSL (Windows Subsystem for Linux) permet d'intégrer nativement une machine + virtuelle Linux dans Windows 10, avec un choix de distributions. + + Avantage : + - facile et assez rapide à installer, et ensuite on peut installer tous + les logiciels Linux avec apt install. + Inconvénient : + - avec WSL installé on ne peut plus utiliser VirtualBox. + + Pour installer WSL ou WSL2 sous Windows 10, avec une distribution Ubuntu : + https://docs.microsoft.com/fr-fr/windows/wsl/install-win10 + + Installer aussi un serveur X pour l'affichage graphique : + https://sourceforge.net/projects/vcxsrv/ + Après installation, dans le menu Windows, lancez VcXsrv / XLaunch + puis acceptez toutes les valeurs par défaut. + Pour tester, tapez dans le terminal Ubuntu : + sudo apt install x11-apps + xclock + + Installation de OpenCV : ouvrez un terminal Ubuntu puis tapez : + sudo apt install g++ make libopencv-dev + + Dans le répertoire de Astico2D modifiez le fichier Makefile en mettant + OPENCV = opencv + + Dans le terminal Ubuntu, allez dans le répertoire de Astico2D avec la commande + cd, puis tapez + make -j all + ./demo1 IMAGES/chat1.jpg + + +2.2 Sur Windows 10 avec MinGW64 + --------------------------- + + MinGW est un ensemble d'utilitaires GNU pour windows (gcc, make, etc). + + Avantage : + - on peut développer avec gcc pour l'API Windows, y compris pour des + Windows plus anciens. + Inconvénients : + - il faudra compiler OpenCV (facile mais durée 1 à 2h selon la machine) ; + - les trackbar (sliders) de OpenCV seront un peu laids et peu pratiques. + + a) Installer Mingw-w64 : + http://www.mingw-w64.org/doku.php/download/mingw-builds + + cliquer sur Sourceforge ... Enregistrer le fichier + ouvrir mingw-w64-install.exe + Setup : laisser par défaut (Threads: posix) + Destination folder : remplacer par c:\local\mingw64 (créer les sous-répertoires) + Next, Finish. + + Dans l'aide Windows : + taper "Environnement" -> Modifier les variables d'environnement + dans la fenêtre Propriétés systèmes, Paramètres systèmes avancés, + en bas Variables d'environnement... + dans Variables système : cliquer sur Path, modifier, nouveau + rajouter : c:\local\mingw64\mingw32\bin + + Ouvrir un terminal ("invite de commande") + taper : echo %PATH% + et vérifiez que le chemin de mingw apparaît bien. + + tapez : g++ --version + pour vérifier que g++ fonctionne. + + b) Sources de OpenCV + https://github.com/opencv/opencv/releases + choisir le plus récent, Source code (zip) + Décompactez le zip sur votre bureau + on obtient par ex. : C:\Users\thiel\Desktop\opencv-4.5.3 + + c) Installer cmake + https://cmake.org/download/ + + choisir Latest Stable Release, Binary distribution, Windows x64 installer, .msi + cocher Add CMake to the system PATH for all users + Install CMake to: c:\local\CMake\ (créer le sous-répertoire) + + Exécuter cmake-gui + + d) Compilation de OpenCV + dans cmake-gui : + where is the source code : C:/Users/thiel/Desktop/opencv-4.5.3 + where to build the binaries: c:/local/opencv/build-4.5.3-mingw64 + (créer les sous-répertoires) + Configure + Generator : MinGW Makefiles, default, Finish + puis attendre... "Configuration done" + Generate + ... Generating done + Quitter + + Ouvrir un terminal + cd C:\local\opencv\build-4.5.3-mingw64 + mingw32-make + ... compilation générale, durée environ 1h ... + mingw32-make install + + Enfin, dans les variables d'environnement, dans Variables système : + cliquer sur Path, modifier, nouveau + C:\local\opencv\build-4.5.3-mingw64\install\x64\mingw\bin + + Fermer le terminal actuel, ouvrez un nouveau terminal ; + vérifiez PATH en tapant : echo %PATH% + + Tapez : opencv_version (affiche par exemple : 4.5.3) + + e) Compilation de Astico2D + Allez dans le répertoire de Astico2D + Editez Makefile-mingw, modifiez éventuellement le chemin et la version : + OPENCVPATH = C:\local\opencv\build-4.5.3-mingw64\install + VER = 453 + + Tapez : make -j all + demo1.exe IMAGES/chat1.jpg + + +3. Sur MacOS + --------- + +Si vous disposez d'un Mac, merci de m'indiquer la procédure d'installation +d'un compilateur C++ et de OpenCV pour que puisse la présenter ici. + + diff --git a/tp8-andré-colin.cpp b/tp8-andré-colin.cpp new file mode 100644 index 0000000..2ec8c9f --- /dev/null +++ b/tp8-andré-colin.cpp @@ -0,0 +1,361 @@ +/* + demo1.cpp - exemple d'utilisation de Astico2D + + CC BY-SA Edouard.Thiel@univ-amu.fr - 22/08/2021 + + Usage : + $ make demo1 + $ ./demo1 [-mag width height] [-thr seuil] image_in [image_out] +*/ + +/* + Pour le rendu de TP : + - renommez ce fichier tp-.cpp + - écrivez ci-dessous vos NOMS Prénoms et la date de la version : + + ANDRÉ Jérémy et COLIN Cyril - version du 2021-12-03 +*/ + + +#include "astico2d.hpp" + + + +struct ES { + size_t w, h; + std::vector weights; + std::vector offsets; + std::string name; + + ES(size_t w, size_t h, std::vector weights, std::string name="") + :w(w), + h(h), + weights(weights), + offsets(w * h), + name(name) { + assert(weights.size() == w * h); + for (size_t i = 0; i < weights.size(); i++) { + int x_off = (i % w) - w/2; + int y_off = (i / w) - h/2; + offsets[i] = {x_off, y_off}; + } + } + + ES() {} + + static ES Square3(int weight=1) { + return ES(3, 3, std::vector(3 * 3, weight), "Carré 3×3"); + } + + static ES Diamond3(int weight=1) { + return ES(3, 3, {0, weight, 0, weight, weight, weight, 0, weight, 0}, + "Losange 3×3"); + } + + ES ccw_rotate() const { + ES ret = *this; + for (cv::Point &offset : ret.offsets) { + int tmp = offset.x; + offset.x = -offset.y; + offset.y = tmp; + } + return ret; + } +}; + + +const int img_at_s(const cv::Mat &img, const cv::Point p, int fill=0) { + if (p.x < 0 || p.x >= img.cols + || p.y < 0 || p.y >= img.rows) + return fill; + return img.at(p); +} + +//----------------------- T R A N S F O R M A T I O N S ----------------------- + +void erosion(cv::Mat &img, const ES &es, int vide=0) { + cv::Mat orig = img.clone(); + img.forEach([&](int &val, const int *position) { + cv::Point p {position[1], position[0]}; + for (size_t i = 0; i < es.weights.size(); i++) { + int val2 = img_at_s(orig, p + es.offsets[i]); + if (es.weights[i] > 0 && val2 == vide) { + val = vide; + } + } + }); +} + + +void dilatation(cv::Mat &img, const ES &es) { + erosion(img, es, 255); +} + + +void ouverture(cv::Mat &img, ES &es, int n_iter=1) { + for (int i = 0; i < n_iter; i++) erosion(img, es); + for (int i = 0; i < n_iter; i++) dilatation(img, es); +} + + +void fermeture(cv::Mat &img, ES &es, int n_iter=1) { + for (int i = 0; i < n_iter; i++) dilatation(img, es); + for (int i = 0; i < n_iter; i++) erosion(img, es); +} + + +void debruiter(cv::Mat &img, ES &es, int n_iter=1) { + ouverture(img, es, n_iter); + fermeture(img, es, n_iter); +} + + +void debruiter2(cv::Mat &img, ES &es, int n_iter=1) { + // il semble que debruiter2 inclus debruiter + fermeture(img, es, n_iter); + ouverture(img, es, n_iter); +} + + +void squelette(cv::Mat &img, ES &es) { + std::cout << " .-.\n (o.o)\n |=|\n __|__\n //.=|=.\\\\\n // .=|=. \\\\\n \\\\ .=|=. //\n \\\\(_=_)//\n (:| |:)\n || ||\n () ()\n || ||\n || ||\n ==' '==\n" << std::endl; +} + + +void squelette2(cv::Mat &img, ES &es) { + cv::Mat tmp = img.clone(); + img.setTo(0); + cv::Mat ouv; + bool continuer; + int iter = 0; + do { + continuer = false; + ouv = tmp.clone(); + ouverture(tmp, es); + ouv.forEach([&](int &val, const int *position) { + cv::Point p {position[1], position[0]}; + if (val != tmp.at(p)) { + img.at(p) = iter; + continuer = true; + } + }); + erosion(tmp, es); + iter++; + } while (continuer); +} + + +void reconstruction(cv::Mat &img, ES &es) { + int max = 0; + img.forEach([&](int &val, const int *position) { + if (val > max) max = val; + }); + cv::Mat tmp = img.clone(); + img.setTo(0); + for (int i = max; i > 0; i--) { + /* Keep only values >= max */ + tmp.forEach([&](int &val, const int *position) { + cv::Point p {position[1], position[0]}; + if (val >= i) { + img.at(p) = 255; + } + }); + + dilatation(img, es); + } +} + + +//----------------------------- TP8 ----------------------------- + + +void debruiter_empreinte(cv::Mat &img) { + ES es(5, 3, + {0, 1, 1, 1, 0, + 1, 1, 1, 1, 1, + 0, 1, 1, 1, 0, + }); + ouverture(img, es); + fermeture(img, es); +} + + +typedef ES TOR_mask; + + +template +void hit(cv::Mat &img, const TOR_mask &mask, F func) { + cv::Mat tmp = img.clone(); + tmp.forEach([&](int &val, const int *position) { + cv::Point p {position[1], position[0]}; + for (size_t i = 0; i < mask.offsets.size(); i++) { + int val2 = img_at_s(tmp, p + mask.offsets[i]); + if ((mask.weights[i] > 0 && val2 == 0) + || (mask.weights[i] == 0 && val2 != 0)) { + return; + } + } + func(p); + }); +} + + +void amincissement(cv::Mat &img, + const TOR_mask &mask_a, const TOR_mask &mask_b, + bool run_until_stable=true) { + TOR_mask masks[8]; + { + size_t i = 0; + masks[i] = mask_a; + for (i++; i < 4; i++) { + masks[i] = masks[i - 1].ccw_rotate(); + } + masks[i] = mask_b; + for (i++; i < 8; i++) { + masks[i] = masks[i - 1].ccw_rotate(); + } + } + bool has_changed; + do { + has_changed = false; + for (size_t i = 0; i < 8; i++) { + hit(img, masks[i], [&](const cv::Point &p) { + has_changed = true; + img.at(p) = 0; + }); + } + } while (run_until_stable ? has_changed : false); +} + + +void elagage(cv::Mat &img, size_t n_iter=1) { + static const TOR_mask mask_a(3, 3, { + -1, 0, 0, + 1, 1, 0, + -1, 0, 0, + }); + static const TOR_mask mask_b(3, 3, { + 0, 0, 0, + 0, 1, 0, + 1, 0, 0, + }); + for (size_t i = 0; i < n_iter; i++) { + amincissement(img, mask_a, mask_b, false); + } +} + + +//----------------------------- I N T E R F A C E ---------------------------- + + +class MonApp : public Astico2D { + const int n_iter_min = 1; + const int n_iter_max = 50; + int n_iter = n_iter_min; + +public: + // Déclarez ici d'autres membres éventuels + + + MonApp (int argc, char **argv) : + Astico2D (argc, argv) + // initialisez ici vos classes membre éventuelles + { + if (!init_ok) return; // erreur dans l'initialisation + + // Autres actions du constructeur + creer_slider ("Nb iter", &n_iter, n_iter_max); + } + + + void afficher_touches_clavier () override + { + // Ceci affiche l'aide de base + Astico2D::afficher_touches_clavier (); + + // Indiquez ici les touches du clavier et vos transformations + std::cout << + " 1 débruiter empreinte\n" + " 2 amincissement\n" + " 3 élagage\n" + << std::endl; + } + + + bool traiter_touche_clavier (char key) override + { + switch (key) { + + // Gérez ici les touches de flags. + + // Rajoutez ici les touches pour effectuer_transformations. + case '1' : + case '2' : + case '3' : + case '4' : + case '5' : + case '6' : + case '7' : + case '8' : + case '9' : + // On mémorise la touche pressée + touche_transfo = key; + // On précise le mode : M_NIVEAUX ou M_COULEURS + mode_transfo = M_NIVEAUX; + break; + + default : return false; // touche non traitée + } + return true; // touche traitée + } + + + void effectuer_transformations () override + { + // Appelez ici vos transformations selon touche_transfo et mode_transfo : + // - si mode_transfo est M_NIVEAUX, l'image d'entrée est l'image seuillée + // img_niv, de type CV_32SC1 ; à la fin, pour l'affichage, il faut la + // convertir en couleur dans img_coul, de type CV_8UC3, par exemple avec + // representer_en_couleurs_vga. + // - si mode_transfo est M_COULEURS, travaillez directement sur img_coul, + // de type CV_8UC3, elle sera affichée telle quelle. + + ES es = ES::Diamond3(); + TOR_mask mask_a(3, 3, { + 0, 0, 0, + -1, 1, -1, + 1, 1, 1, + }); + TOR_mask mask_b(3, 3, { + -1, 0, 0, + 1, 1, 0, + 1, 1, -1, + }); + switch (touche_transfo) { + case '1' : + debruiter_empreinte (img_niv); + representer_en_couleurs_vga (img_niv, img_coul); + break; + case '2' : + amincissement (img_niv, mask_a, mask_b); + representer_en_couleurs_vga (img_niv, img_coul); + break; + case '3' : + amincissement (img_niv, mask_a, mask_b); + elagage (img_niv, n_iter); + representer_en_couleurs_vga (img_niv, img_coul); + break; + } + } + +}; + + +//---------------------------------- M A I N ---------------------------------- + + +int main (int argc, char **argv) +{ + MonApp app (argc, argv); + return app.run (); +}