From b24dd05ddded22738b392e949ef01c3f23cbe53c Mon Sep 17 00:00:00 2001 From: Ashwani Rathee Date: Wed, 22 Sep 2021 00:47:04 +0530 Subject: [PATCH] fuzzy-cmeans --- .../examples/image_segmentation/assets/p1.png | Bin 0 -> 2161 bytes .../examples/image_segmentation/assets/p2.png | Bin 0 -> 4142 bytes .../examples/image_segmentation/assets/p3.png | Bin 0 -> 8310 bytes .../image_segmentation/fuzzycmeans.jl | 76 ++++++++++++++++++ 4 files changed, 76 insertions(+) create mode 100644 docs/examples/image_segmentation/assets/p1.png create mode 100644 docs/examples/image_segmentation/assets/p2.png create mode 100644 docs/examples/image_segmentation/assets/p3.png create mode 100644 docs/examples/image_segmentation/fuzzycmeans.jl diff --git a/docs/examples/image_segmentation/assets/p1.png b/docs/examples/image_segmentation/assets/p1.png new file mode 100644 index 0000000000000000000000000000000000000000..3b62f77dcc984d1eb6b09649a730f134bc322173 GIT binary patch literal 2161 zcmV-%2#)uOP)~jr>6fv4IpI63b&m{t-F=06^Nn$N>NVMh*bD5Go=vO=08!0AC*IF<OjN0{Kmn!?Bd z0H-jOi6goM5jBO80|16L0qB|oz=)c{$N>Ppya^$4!#cTq4VlK*6h;mJ@WnRDP?`=t znsEkAVdMY+Uw+bG-2jzGG8}xZ=0Y@WDU_FApIFm)e)(I|uSOX}M=gt)XS(B^d`D?I zDz_YRj?UO~t#nlGF_~%R9w}&9b|raCNz*0yg!Llq97b`j_OQ$`Y&EBIpG8VPHcKjx z#&i3c%BMSn_Mu#w)~OkJO^@gNhTqY$CekrW+W%P7*p8jYlr*&(c_F_A=g92gOck(o zn3TMm6_L`9NlqFcJZG0H$!HIeF1q%_H;7BpI`xPg+#c514@*KPDw>C(AvJapF;av9u56lC%aONlZpA&DmCAzbJ-2W`vpzFsY&G$L4`F z_A&Bf}f2^F{@=yZ)m6PFWl53)|nE-DLKxz4-X| zmHu4|A?|3OkL*}O)9W;v)A~R3bTVg8Co*q2MX#^4&#$!olysXr$|qx5bnMt$Lz%o# znk*n1ca@cob|Gac0<^A3+l$9Gz8!#nK@o!R@5WHw7ymzy))M9qExn%Mk0?_ zv2_PS1iCZ4gq^XbhtBe%Z)p0G-e%{DvG3UVHcH+qrMqUvmJ7!Xvta)=eG;l-=Tmv^ zJEW{!+J%;-kJgovhc%^Zlzd+D%S62F1hM)1vQrn4PubslR>1|mL_0=q{~97FS<(Js z%l0gSw>La3=-Oy`dfSlKA?Zs>`=CU{vJJbT=vF9sn<~rsgz>*D zg~ZoyE$24TynJ4H+^~Ji%B5XsS-P~&*i#PIxMkPm7dpp{=MC$*XGPi269WKAu^Z3< zerJfTmP()Vl0|$CMJ^#v3u@&rG?8l&A$@1*k}308vb3!sZ<%M;%~q49(d0=z$L@q> z<I~GB zH=kyKOfz~`Et_0v0?9o3|Mx8`AMHZTb`j7g{gB{jVi-9%i;-6YD$LSQ(F;eLZOHL< zjzKY*V}C=^+lK098k4o{tMxF&O4ClgR*bJUlwTF0tacs)l0wQd3)sF))D&Ul;4DVo z4!HPshG@+8;xeRy`ZPz(EXNv}-u9$YYYfnqx1C4SY>J8x%(Qb&nuAAw^U$*L(Js_% zZCVRMz66XM0Jo8M11gN^kzQ?co%O7smByshwp8`ezCK}kTa!hnX;(JoO*OpIV7#rx z&~k&Ru07vxgqD?$cA;i#(^{vmdgI9h=6tEyyPweC0!9ul-N-*GQCB`-sI;zcvuwkC zW2UuLOwD(2iEbq6gVJ}qU=^=WwjG*&W%vlHjEo;OhONunlzMP%*#Ebh2zYNWG(o*N zUJXqns|aP~(k`?tU0N^MO{6efm(PwKKb#lpozv%s9xLGD;YR+%466?f4H)5-^;sDq zI#u>x1iT#U6mx3~gF&PbeN`&@(DZXMt4ulnMq_HWyz#+0$8CNaw9G69yfEBQgr}aN zW#yw?(c>k#PHWi<=AEs3Q6k&Qpxdod(i7HLvk~%gSYK%#lhX79on%23JEO|Hp%V`^ zbvat^4~v8f8uj;^_Pb&c;M!n6kR68_%L5A0{zSG|g{oPG@%jwul zO82T9pSOJ<_4<$PKc{UT70sub^84<1x(X>Pmv(*1(x!F8MsBvO54qHRnaDH&2hwB{ zx#EALoaK$YZvVXO>a8i-GO?KCC0n zd4JA4rlzTN8e0Is<@2O8QE`5p_yZuflE)-9g^>f0E^@Ll-J|}NH4`9@SFS0H9DsEB z%w7ts@cDd@$1B$qMh-x_WGC7Nc}!eW7&!oGW9mU6qsj^Lc>S8f$N@mqjyxu=DU2L| z>ol>6Bf3N$uSioEIRNS6V<_*)GG5Q>ISGhlHqKTM`#KF=+7AQk<0D#1Skpln#j2r*}0E`>}004{}003?kbUy?jE~RGL(-mX^Jt#ESQjP&i0L0~B n_!W=_^k8AQp4$Hd00960lB_rttjD^(00000NkvXXu0mjfZ&VHz literal 0 HcmV?d00001 diff --git a/docs/examples/image_segmentation/assets/p2.png b/docs/examples/image_segmentation/assets/p2.png new file mode 100644 index 0000000000000000000000000000000000000000..583c0398ed00f7d16fba954b317496198ff4eeab GIT binary patch literal 4142 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