From 16543107f3f0c0be9f16bb09b5f98f395604c483 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BA=86=E5=88=9A?= Date: Mon, 22 Jul 2024 20:16:45 +0800 Subject: [PATCH] update for bakeup --- .../contrast_analysis.cpython-39.pyc | Bin 7703 -> 9510 bytes tracking/contrast_analysis.py | 132 +++++++++++++++--- .../__pycache__/dotracks.cpython-39.pyc | Bin 13177 -> 13177 bytes .../__pycache__/dotracks_back.cpython-39.pyc | Bin 5782 -> 5782 bytes .../__pycache__/dotracks_front.cpython-39.pyc | Bin 4675 -> 4675 bytes tracking/module_analysis.py | 77 ++++++---- .../__pycache__/bot_sort.cpython-39.pyc | Bin 7158 -> 7158 bytes .../__pycache__/byte_tracker.cpython-39.pyc | Bin 14648 -> 14648 bytes .../__pycache__/reid_interface.cpython-39.pyc | Bin 3100 -> 3100 bytes .../__pycache__/drawtracks.cpython-39.pyc | Bin 9023 -> 8968 bytes .../__pycache__/mergetrack.cpython-39.pyc | Bin 3855 -> 3855 bytes .../utils/__pycache__/plotting.cpython-39.pyc | Bin 12836 -> 12836 bytes .../utils/__pycache__/proBoxes.cpython-39.pyc | Bin 2447 -> 2447 bytes .../__pycache__/read_data.cpython-39.pyc | Bin 4734 -> 4848 bytes tracking/utils/drawtracks.py | 7 +- tracking/utils/read_data.py | 15 +- 16 files changed, 179 insertions(+), 52 deletions(-) diff --git a/tracking/__pycache__/contrast_analysis.cpython-39.pyc b/tracking/__pycache__/contrast_analysis.cpython-39.pyc index 092609ed936ef7306fa0b0106fb7ae3ccebf4ad4..8e5b16f310fd294c364ace279d5870e9fa2b241c 100644 GIT binary patch delta 3851 zcmaJ^>u(#!5x>0$@Awog%X-U_AGJ-}QT4DDCvhAjPMyZJ1*dWBgl5g0c_)c6$)om8 zvMd}y1B#IXX^X0twm=QrBx(dOil8lowm|=bK7f2IaG(0AiTePGpeWLyDEgZvL&*YK zk~h1zJF`1GGduI+4^Mt@E@dW@F$tf_r}yUmc5*#6%>KE4P4T1#^Q9(x zN&3bgYpN%`EjJWjZL*wP(`pev;;GAwPb_we8I3q=y02SGpX6(OQq2(K5uf=+Q?Avc z;#K#fP3D%cv_U;4wV5O=EZ1UQv=Q@TSSSu95`Mf9Z%WuMSxfmz_eYDrZF5I`%~Jft zUCC1KVLM26`3XyVTB;?mLc;IzQ%#vki{Hcw$tKL;rRu(FMf#*QZ0XB_RYt4BQr%$u z$6~i7!BWO7XRyH8kmWyD$E%h3$Mm||HMU?b+twJjU8jUj@e@UoGF_qUxS?Jux}H_! zp;|S)h0t)TrJ`rAcwzi<(XySh4lkQtXwD=t4oV}fL8!f+Ryn_q>2 zr-GC+q$vEk;HWafE(hn7D=Jn_2ES4~H51{-f>+douVT^DB&JrmT?iF#!R60%7TjDl zO{?a?VwOsIVto-z!VnV9*^RG(bEh>v8~jEcVIKq^s}F{K+!)H ze;uz^Xy`HsPB<0(EHW5;6ghbC0*#&~avmfrU%Hr;&t7baibaGC`-9z){ykp@huaGx z!GSRxuoqvrmnGzGHq3Z#;|=|=tZ@Sz!JX*rv5r!YWd14!`F@ZL6S3yzC$=dV5Xa>} zi(RXC1i86YVse|r4}=79qT&gJgD5>cK4z-b(%aOa&v^Sg}%F^73;|$;u{eP8q1MAYNO>6s8tV?w+^3 ze8GX4OxMd(262BGT%IW!fy0Jqio(l?&NM5wGrPoH$7W8hWBAQli|z6f0M`%krg7hh^%g;dw$1e zD3W-YNQua1z=)&tx=4F@9HelgSeegL-hx%!zXUsa9aKnU^(RtJ8Y85jNICxw8oj?C z{ktdoy05OuIfY72t;Q>Yw>Y^A>} zB0D1^qm~@g6QcZG$ZtD=hun(HW8r%*)@|4)0SPzUpINdvFyAE*^V2t2Kj|52LBd`eTT@m zi5S5j249G8-FVMXZ~b-JnBqm!4JECpNI7YimQi73{ys(vnD2bZi3T3w#4*eOHZXt$ z){uP$pfL!bp-@i%4c1TzrSKWSArK3|g;bM^(!3-~H3cZAE;S-;&~vUP3r5|So6M32 zBulZRJ7{Z~7&m-C31E+i7xg1+1b!5t7tPm;VnbhT#C@H%UOcyL27H$4t8G4|k!VT) zS#J@rs@HTc>FaAOr`C*Gv=*zyy_6sG<02{(6qg>r4#nk~f(T7Fc37I%O%ivddr%bk zrmL~DtsnzX0_tgs@x@;YjHAykor1}7xyfgy#wTY^j8BeFoyfThCbx5c`bGV{Pk#FS z{M5wMv5A=+ylQ*4^pe$XYg{u4Ek@n_VhD zJGQE$ND_$3^lV8FdVfv#-iI^7aiB>EOm64*(@a2*HS4ACqt ze3i&)BAx4!RjVbhU717xiwudq!!@h@RGtq}hKwAVAvUdx@+S~U~X^&>`;c#F5#}IwOL}VTX zk1$a$I&Bjn4d8yVHT(}~8|nXr{Z<>0y>fW+lR0q@(0yuhV*2>>bbhtoz17f&_ob2t z!yLxGzzBnAS^>8ut6?lmwf{Nffu9}Q{mC|KJtQ6@pQmHy^BH!Qe)~h+amPgrQ*jL= z?!uB6FP1_L#j|<~c6r)Lf85y0BjF@pI}Dt*+^o98T*Yi Xz6Xp`#&P39Y$Voij2jUnhDZJ{3nPlE delta 2055 zcmZuyPiz!b7@s#YyF0t=F1w|FmhP5D(t6AyYJ#>5y8yn{DG@IpM95D$LetFExIllkqN?|t9< ze((F&&yQRm%i5VtO2NM`?%k;UylW|2Vm~fzpHUZ;rO&qS?042V-HWVJbc#-o(~GN; z)8`ZxmCAs-!C8Mng}d&+g2EJsy{?!gzJ+~Itg3X}KYu#@#_)X!-|z;%sxNilOxz*^ z1r3su4@mg|m&4|BSuado%82ZZW1r%44pw{Iz(r;c~&QR;R(PUb4Wg+Kq-)2hSO5 z1$EPaE`B$@bzUSw`=W~;p$~l{k4;2DZ=t@>qNxxH#H+szMcS5p=qUOMa|nu>W?lFg zET!gHior0-o(N3>1@vn8hPM%rFLU@*;`)|IpVQ{_Idwr}3ax4?1}iZM47DJM@L&xB z|1{mtM~s18Z8FQMP=|(v7EJrgOsLV+Do;r#}Vbr{a8`!=pbXp0`osIZ>=9wSn_LgL-UkTp_m$+CAI(H0DeAVJK#n9HM6S(V_^hd3yzZJ1i@hhVYq=4 z&Ul#cBlH>fLgE6Gq;QO&%^yzEXCA@q!K$`B5d7=h9d?=r`N48K@F3IIRd*w++6*GF z!^mpcSpFaL+xf%HUwM@OMB7Hhfmlk46$2AQCx*BRTGNp=Y+cr=x%iho`{#Yqqaec> z0!g0OuCk2NirPV5O~l<j+18%Y|AKd^@PRmV41|Ok?!(=rDW=wH395t(?XO=N!&BYVDlbO{nXL zDHX2pV(I?TD|EEXzGOjhG&3USxDD&P4b`UOTC!Rxg8&E>nMUe%m?PQy1n&_X;FALf z#ye={+ZAdDcH>g$g*%927aAxDL(geC^2{MOon>RNxDsqivHBuzisZrBs@saZW*}lM zz}Ck>ca{9KsfY}?4LkC%EU2smb322i`?eQMkVE>1r7)cyRYiwc2G{tVa(8-AB%0xn zEXxW0Q+XZB@!!gWaUuxEd1`YxF8g2~-?RDE3gt(RS&-?Hy&{80aRV7k;ttmkgkf1U vdMxWPRx&!WeT^}{=}b4=ab%~2+xQ=w3+u8**4So@8zaWCR4G+7)*9?@^UKTr diff --git a/tracking/contrast_analysis.py b/tracking/contrast_analysis.py index c7d035a..058c6fd 100644 --- a/tracking/contrast_analysis.py +++ b/tracking/contrast_analysis.py @@ -10,6 +10,43 @@ sys.path.append(r"D:\DetectTracking") from tracking.utils.read_data import extract_data, read_deletedBarcode_file, read_tracking_output from tracking.utils.plotting import draw_tracking_boxes +VideoFormat = ['.mp4', '.avi'] +def video2imgs(videopath, savepath): + k = 0 + have = False + for filename in os.listdir(videopath): + file, ext = os.path.splitext(filename) + if ext not in VideoFormat: + continue + + basename = os.path.basename(videopath) + imgbase = basename + '_' + file + imgdir = os.path.join(savepath, imgbase) + if not os.path.exists(imgdir): + os.mkdir(imgdir) + + video = os.path.join(videopath, filename) + cap = cv2.VideoCapture(video) + i = 0 + while True: + ret, frame = cap.read() + if not ret: + break + imgp = os.path.join(imgdir, file+f"_{i}.png") + i += 1 + cv2.imwrite(imgp, frame) + cap.release() + + print(filename + f" haved resolved") + + k+=1 + if k==1000: + break + + + + + def showHist(err, correct): err = np.array(err) correct = np.array(correct) @@ -22,24 +59,28 @@ def showHist(err, correct): axs[1].hist(correct, bins=50, edgecolor='black') axs[1].set_xlim([0, 1]) axs[1].set_title('correct') - plt.show() + # plt.show() + + return plt -def showgrid(recall, prec, ths): +def show_recall_prec(recall, prec, ths): # x = np.linspace(start=-0, stop=1, num=11, endpoint=True).tolist() fig = plt.figure(figsize=(10, 6)) plt.plot(ths, recall, color='red', label='recall') plt.plot(ths, prec, color='blue', label='PrecisePos') plt.legend() - plt.xlabel('threshold') + plt.xlabel(f'threshold') # plt.ylabel('Similarity') plt.grid(True, linestyle='--', alpha=0.5) - plt.savefig('accuracy_recall_grid.png') - plt.show() + # plt.savefig('accuracy_recall_grid.png') + # plt.show() # plt.close() + + return plt def compute_recall_precision(err_similarity, correct_similarity): - ths = np.linspace(0, 1, 11) + ths = np.linspace(0, 1, 51) recall, prec = [], [] for th in ths: TP = len([num for num in correct_similarity if num >= th]) @@ -50,9 +91,7 @@ def compute_recall_precision(err_similarity, correct_similarity): else: prec.append(TP / (TP + FP)) recall.append(TP / (len(err_similarity) + len(correct_similarity))) - - showgrid(recall, prec, ths) - return recall, prec + return recall, prec, ths # ============================================================================= @@ -291,7 +330,8 @@ def performance_evaluate(all_list, isshow=False): '''3. 计算比对性能 ''' if isshow: - compute_recall_precision(err_similarity, correct_similarity) + recall, prec, ths = compute_recall_precision(err_similarity, correct_similarity) + show_recall_prec(recall, prec, ths) showHist(err_similarity, correct_similarity) return errpairs, corrpairs, err_similarity, correct_similarity @@ -306,8 +346,7 @@ def contrast_analysis(del_barcode_file, basepath, savepath, saveimgs=False): '''1. 读取 deletedBarcode 文件 ''' all_list = read_deletedBarcode_file(del_barcode_file) - - + '''2. 算法性能评估,并输出 (取出,删除, 错误匹配) 对 ''' errpairs, corrpairs, _, _ = performance_evaluate(all_list) @@ -319,12 +358,62 @@ def contrast_analysis(del_barcode_file, basepath, savepath, saveimgs=False): if saveimgs: save_tracking_imgpairs(errpair, basepath, savepath) - - - return relative_paths + + +def contrast_loop(fpath): + savepath = r'\\192.168.1.28\share\测试_202406\deletedBarcode\illustration' + # savepath = r'D:\contrast\dataset\1_to_n\illustration' + if not os.path.exists(savepath): + os.mkdir(savepath) + + if os.path.isfile(fpath): + fpath, filename = os.path.split(fpath) + + + + + + BarLists, blists = {}, [] + for filename in os.listdir(fpath): + file = os.path.splitext(filename)[0][15:] + + filepath = os.path.join(fpath, filename) + blist = read_deletedBarcode_file(filepath) + + BarLists.update({file: blist}) + blists.extend(blist) + + + + BarLists.update({file: blist}) + BarLists.update({"Total": blists}) + for file, blist in BarLists.items(): + errpairs, corrpairs, err_similarity, correct_similarity = performance_evaluate(blist) + + recall, prec, ths = compute_recall_precision(err_similarity, correct_similarity) + + plt1 = show_recall_prec(recall, prec, ths) + # plt1.show() + plt.xlabel(f'threshold, Num: {len(blist)}') + plt1.savefig(os.path.join(savepath, file+'_pr.png')) + # plt1.close() + + # plt2 = showHist(err_similarity, correct_similarity) + # plt2.show() + # plt2.savefig(os.path.join(savepath, file+'_hist.png')) + # plt.close() + + + +def main1(): + fpath = r'D:\contrast\dataset\1_to_n\0719' + fpath = r'\\192.168.1.28\share\测试_202406\deletedBarcode\good' + + contrast_loop(fpath) + def main(): del_barcode_file = 'D:/contrast/dataset/compairsonResult/deletedBarcode_20240709_pm.txt' basepath = r'D:\contrast\dataset\1_to_n\709' @@ -335,13 +424,18 @@ def main(): except Exception as e: print(f'Error Type: {e}') - - +def resolve_vidoes(): + videopath = r"\\192.168.1.28\share\测试_202406\0719\719_1\20240719-103533_" + savepath = r"D:\contrast\result" - + video2imgs(videopath, savepath) if __name__ == '__main__': - main() + # main() + main1() + + # resolve_vidoes() + diff --git a/tracking/dotrack/__pycache__/dotracks.cpython-39.pyc b/tracking/dotrack/__pycache__/dotracks.cpython-39.pyc index 5f471e48c615bb3322cf22d2fd84f322c52ce7af..671fcc3a146ecf6945b72279c3ec85cec85a6d6d 100644 GIT binary patch delta 20 acmeyF_A`w;k(ZZ?0SHz+pRtiU&lmtqh6d9B delta 20 acmeyF_A`w;k(ZZ?0SHtwr*GuWGX?-f@deNT diff --git a/tracking/dotrack/__pycache__/dotracks_back.cpython-39.pyc b/tracking/dotrack/__pycache__/dotracks_back.cpython-39.pyc index 65801116f619f583a0241c4499bcade08870ce7b..2c89354099bf5dac86d0446988dcefa94a298da0 100644 GIT binary patch delta 625 zcmY+A&2G~`5XZX?cAUCS8|6y~N<*m{j0lAU0s`?_E*$8I3%NL3cN45Sbu{Z75E2n5 zI3fmB9C!e(C=%j`1mc8vfaL)YLgEFuuw!#*efZ7n{O3Qrp8eK-%i*p&Kc~NUKi|A} zJ{nBn7o*G6?62|Eu#RZ~mT_th?PZ;M3~Knt{K}|Q$8Xj{R~16(%Y-LkkT%xwUVduT z$XCVh`3LT5=3C1qZP?tQ3Y^N$dQ9;SrAr!H-n=$_viq!tCkvZSiv)Tcc(b_hB*#|p z_d-K+!M(+f<9#X(rK%L*qi7^o(Q-`!jYgEj~^?0Ab2tXA>k@{?xr3NLm5K?HkHoe z?NT{g@j2|3I%aC0y(+zCtc%U^W}R+RIXM{tt=%)TmGtph`66rJhw>nE_i?onJCA5) zx{46rRz`=;l`34{Abp*%O=u8y2@zqWpfgc5Qe)BcAUCSiDDB$MCccd3`B*bd>jB#dg4G&T;d+wt+S4zCUrFH98jf3 zoZyHU)DwRKMM4~rK%5ZV%`X5X{s0$tY!1bTXJ+4-cXmA|t&^6;ZF_!BeLufNZ>{$l z^YN2*i}|xZ+OcMwR|Tl!RPUR0m3jq$Dq)w)CVAIQQ}|Zh?<2 diff --git a/tracking/dotrack/__pycache__/dotracks_front.cpython-39.pyc b/tracking/dotrack/__pycache__/dotracks_front.cpython-39.pyc index 785d774de611dcb48cb5d062d4f5ced410097e89..cc3a8f9985fa7c441025430d5cb137bada3be6c5 100644 GIT binary patch delta 20 acmX@Ca#)2sk(ZZ?0SHz+pRtkKLI?mltp$t# delta 20 acmX@Ca#)2sk(ZZ?0SK}$q;2H35CQ-0: enent_name = prefix[i] + name break - spath = os.path.join(savepath, enent_name) - do_tracking(fpath, spath) k +=1 @@ -353,25 +377,24 @@ def main_loop(): -def main_fold(): - save_dir = Path('./result') - if not save_dir.exists(): - save_dir.mkdir(parents=True, exist_ok=True) - - files_path = 'D:/contrast/dataset/1_to_n/709/20240709-112658_6903148351833/' - for filename in os.listdir(files_path): - filename = '1_track.data' - - fpath = os.path.join(files_path, filename) - if os.path.isfile(fpath) and filename.find("track.data")>0: - # do_tracker_tracking(fpath, save_dir) - do_tracking(fpath, save_dir) - - +def main(): + ''' + fpath: data文件,包括 Pipeline 各模块输出 + save_dir:需包含二级目录,其中一级目录为轨迹图像; + 二级目录为与data文件对应的序列图像存储地址。 + ''' + + fpath = r'\\192.168.1.28\share\测试_202406\0719\719_4\20240719-164209_\0_track.data' + save_dir = r'D:\contrast\dataset\result\20240719-164209_6971284204320_6902890247777\getout' + + do_tracking(fpath, save_dir) + + if __name__ == "__main__": try: + # main() main_loop() - # main_fold() + except Exception as e: print(f'Error: {e}') diff --git a/tracking/trackers/__pycache__/bot_sort.cpython-39.pyc b/tracking/trackers/__pycache__/bot_sort.cpython-39.pyc index 5d926ba77a4fc9e15aa7c0e92648d17919e45abe..1e108826b1c999269a07b5891af2219ea349e0ff 100644 GIT binary patch delta 177 zcmexn{>_{_k(ZZ?0SHz+pRtj9oiO9A&AWsTF)_wWt`*a;iUmp(#eoQa5aA0V{6IuJ zh)@6#2_QlpNN92viG$dQAR=kh6d*H-FEuwQJ|(lbq&Pk|u{gUZd9sZ7MaIO* tihRPG86_?_{_k(ZZ?0SLZr>)6P>PM9%j^Df~-OpMW!YsECIVt^7wu^_@9MEHUTKM)ZI zA{0PGJcv*S5}KSv;vjYch)A4#Urb#r8OV&{OU+G+PsuDUDUQ!gEY2=Unk*xJkuhPi tBA@VPMv04z-02_@Z8sWHK=&zL&|<8~qFsgMEb_D@LMk zx2#^%F})5a4I_49_Z{1{jCjLtSOeDvE}dC!_trAlbND8%hzX-9P{*0bgpd^biC&g- zqT^xL14s#jS&Wg6*=uvjbR28Yf;9FryO-qj94b!X(XQJaw4uO8l0x$ALprA_9{SM6 z#h4S43s@{5iinbcu7J*7r>l2M*x+thMg+TI1!EQQw-;>{v4&Vj1h;?IgM}hE`!L@sOWK rJ@#{OtOlmBIxSQGE;^Pn^Jq=VpepR0mU1(w_?-Wys~9!*O&5OwylZEw delta 496 zcmY+BOG^S#7={}!qdACTg_43Uyo?nhT`i*$yRE}$5hN3iX{a-NGmB_b|DeTb>8_RF zCZwOxe~7aV`UmZT&O3(KSv==`-*frC!|BKRF+~do12baW4X<9650}K*r|Wr{2f9W> z@6=7rZgHu`eO04t8kWxeHKV5YEQ7dwrd#cMowFDBtv@Ah7|c*+wBY%Yq%iyOUaCov zakpg?g@vLBtf!@Qnq1aQQ|~os4tat-%F)O?WC~lnZL8gDlF9~hTuQTd`CQ3h(Lr{U z@tLluiXaax0V@LeI2G7%w)n7$1hr`mnAE0q*bQJ@7itsO0!qN73)+Tt%IrXufn9-o zh|*#bU3Rq_o%W!mQ!ZU_sZIyNm8jxm4eqf!*F;s}=n&Wkj(}re>QS&o#sW{t9OQ}P n|L+;Uo>df8ae66WIl*kDEJq`lonh9L2sQ@8(}{8qBR+52j< diff --git a/tracking/utils/__pycache__/drawtracks.cpython-39.pyc b/tracking/utils/__pycache__/drawtracks.cpython-39.pyc index d4c35240db5deead85183381bf5740df84057db2..be6df67569d9010ded2274f65a2f0073f0bd6c02 100644 GIT binary patch delta 429 zcmaKny-Nc@5XE=yF7AD8jF%{gDb(&#q!zzG45<`^Sg0Tpyr_vpleB`0;-NjK2fUpsF}> z4%sH(*RuRcJK|-1Al*?*+r_O)o^H4^;=K+omUrDEEp%j$x*bw3xa$RHg}V9GP0uF0 zsZa5DeKL_2w+LIZ1tyr11s0^b!U|jIns_mo5$kE@WAWwMR@$3 z&*5z11>icg`#vK4DyeZhxdZXAmF!m{6%noQyTMJU@YK*P6!_cFhw!h%3&ymXP?yxa H8dIfj%g1(J delta 483 zcmeBh+waDk$ji&c00bqcXQa7q;$tTEJ7oJewhfeJ;~N z##*it&IPH+%?<__!lx1 z->c!y5=h|$Lattr9)>Iy7lv4iTAmul1xyPWYS~K!Yj|qdo0)3afjW39yeP9I^%iq+Nzr6YE*Y^RA7H@T;>}GhN>5FRFDXh)&MwyE zn_SH0$j+9Tn_f_oF?lnWy@U}^6$85vvk)T>BM*}hqY$GOlK`Ut(`GhqYevQylbv`P z8S^F|;R#`!x>=HUKP%(D$v1^M7>`WeBOJ+i225VsEGBZBk#XhbPom#h83iZ5lCEPE x+MFpP$--I;G@N;IyFxZ&@#N16I~h|ZuT}gGWG_{U;CA8=;fUf$5gg5ba8qk*&y-l2cL}DU?#%;Koi5B@Q8wg9|N$xTPQ4VzH~pAQD?PHAEYajziIrZM^&CLeBS!EP`ts|%qv`!9{{eAQ~}Dmcnn7AgJ>YyvTnQ2aXM=Hhr+`r zl)=&bKW=KjhFgy8x9?ln3|~^jS7cAjwD>xWOxQP&uoA^oV<6x^f%=F!pAeiGxN@hk lOgeJE&{|tT?=C_c0gFWkK$)J`XT8Al<_aB*y7InI`2(_rqkRAX delta 687 zcmZWm%Syvg5cMW)NgGo{T=^)piclZbRu_T~1Q#w8TP}EEyCc|PjK&yp(SV*XXf0QIrGR>;i_PA%gPPl_i5ien{OHe^`T9$qWabx zHu-X-KcvQr7%pp|RTe>aTS5|#p`?Zlxlr!$vL{OlPx0fa<-Qz^kiwbGKH#L(T?rE#0iE}~)5 z2=S;GSnyH`EflXJ;;9F(p8Ny$;GZBKJ&5=wL7_9uZ{F|s-n^N|ygw5^C+(VLF@oc0 zbGN=Q`q5r6p%UFQKbsY;UUzF@P>IrP9LA$7Y!W?Xb_($sJA=5#P9q+%uQ31VRq{35 zIg5FCUV;fbegm z(MaLCjVm}rPe=rDz@d)vM(M%Zo#?w&SPH2yx=THB>TQ5ab{UKT2i1L;;FLJ)cZ;Zv- zio0F(c&r!Qh8wz0tlss4@Il_>vMXYfyEUib`EI~-@_4^X&Pz)+#GpaU#pmm8GxWCn zIML*uALi2)UG~IsxDi90&tPPQ1f=bqB-zGR1n=jA1` pDR~(oHmX&>_SCIbE76baE%Tgo+((G6=VsCcyiKt&mklHMhQFwn#?1f# delta 795 zcmY*XOKTKC5bo-kok#D^z7WM=AmC)-ltQ46f^@XUIW% z$RQp)C;As#t}43v*Yxj3Iq*D2a2$Sn z6UoUB|$_UC#;%8i3#I0{BCyM)g7^Iuxsy@&dAJCd;<;&jk+-(%r0pah^5gnYj za3*W$Nr@yOgfui>8GG=0KL75`?MSCh9(>AN>F(1J$(UrxyVQ`@E{I54vJl!Wg4{;F zEp6n^m=}=0kmkNA3nKs$nwb%k4K#yLk`*#5v$r}Jvkn4 ze32y#T51s#JQUQJdt+Wk{v)hp28J?3M_QP!sMARscO|{s>Kqlj2jax>a#3j>FBp|; z|4Y74LSm9Blk6Hm2K7s150b@M0%Kc2l;#rgt9e>^cv5#r*@6%I!8-S;(9ep`{sm{Es~rnvw|SqZJXGeLI7#pMme9>ruHZq~j|V(C>hlGCRkw89V&Ci9x`&JDrh-UZ zN4?9EVLwiLQ9sz|=3lEVXyp^Nsr*K5W}$_C0(EdGgDNe9gJwb%txokyjWQgm+M|6G zCxa5LJ^#;Kc-s`FSQT=A|yw(as V5f9S*eSN;-V|YwwV!{b5=nt##x6l9p diff --git a/tracking/utils/drawtracks.py b/tracking/utils/drawtracks.py index a825a91..5ddfeaf 100644 --- a/tracking/utils/drawtracks.py +++ b/tracking/utils/drawtracks.py @@ -98,11 +98,12 @@ def draw_all_trajectories(vts, edgeline, save_dir, file, draw5p=False): H, W = img.shape[:2] cv2.line(img, (int(W/2), 0), (int(W/2), H), (128, 255, 128), 2) - imgpth = save_dir.joinpath(f"{file}_show.png") - cv2.imwrite(str(imgpth), img) + + # imgpth = save_dir.joinpath(f"{file}_show.png") + # cv2.imwrite(str(imgpth), img) if not draw5p: - return + return img ''' tracks 5点轨迹''' trackpth = save_dir / Path("trajectory") / Path(f"{file}") diff --git a/tracking/utils/read_data.py b/tracking/utils/read_data.py index 612c043..a46510e 100644 --- a/tracking/utils/read_data.py +++ b/tracking/utils/read_data.py @@ -151,7 +151,8 @@ def read_deletedBarcode_file(filePth): dict, barcode_list, similarity_list = {}, [], [] clean_lines = [line.strip().replace("'", '').replace('"', '') for line in lines] - for line in clean_lines: + + for i, line in enumerate(clean_lines): stripped_line = line.strip() if not stripped_line: if len(barcode_list): dict['barcode'] = barcode_list @@ -163,8 +164,16 @@ def read_deletedBarcode_file(filePth): continue # print(line) - label = line.split(':')[0] - value = line.split(':')[1] + try: + label = line.split(':')[0] + value = line.split(':')[1] + except Exception as e: + print(f'Error: {e}') + + + + + if label == 'SeqDir': dict['SeqDir'] = value if label == 'Deleted':