Files
webots-vision-2/__pycache__/test_detect.cpython-313.pyc

83 lines
11 KiB
Plaintext
Raw Normal View History

2026-04-03 07:30:54 +03:00
<EFBFBD>
~@<40>i<EFBFBD><00><00><><00>SrSSKrSSKrSSKrSSKJr \RR\RR\
55r SSSS.r SS S
S .r S S SS .rSrSrSrSr\S:Xa\"5 gg)zq
Test detection on test.png - find individual boxes and classify each.
Saves annotated result to test_result.png
<EFBFBD>N)<01>YOLO<4C><00><00>)rrr<00>hammer<65>wrench<63>pliers)rrr)r<00><>r)r
<00><>r)rrr
c <00>,<00>[R"U[R5n[R"U[R5nURSSup4/n[R
"USS[R 5upg[R
"USS2SS2S4SS[R5uph[R
"USS2SS2S4SS[R 5upi[R"Xx5n
[R"X<>5n
[R"[RS5n [R"U
[RU S S
9n
[R"U
[RU SS
9n
[R"[R R#[$S 5U
5 [R&"U
[R([R*5up<>X4-S -n X4-S -nU GH:n[R,"U5nUU :dUU:<3A>aM([R."U5n[R0"U5n[2R4"U5n[R6"U5unnnn[9UU5[;UU5S-- nUS:<3A>aM<>Sn[9SUU-
5n[9SUU-
5n[;UUU-U-5nUU-U-5nUUU2UU24nUR<S:XaGM UR?UUUUU-
UU-
4UU-S-UU-S-4UUS.5 GM= URASSS9 /nUH<>nUSunnn n!Sn"UH<>n#U#Sunnn$n%[9UU5n&[9UU5n'[;UU -UU$-5n([;UU!-UU%-5n)U(U&:<3A>dMQU)U':<3A>dMYU(U&-
U)U'-
-n*[;U U!-U$U%-5n+U*U+S-- S:<3A>dM<>Sn" O U"(dM<>UR?U5 M<> U$)z2Find box-like regions in the top-down camera view.Nr<00><>r
r<00><<00><>)<02>rr)<01>
iterationszdebug_mask.pngg{<14>G<EFBFBD>zt?g333333<33>?g<>h㈵<68><E388B5>>rr)<05>roi<6F>bbox<6F>center<65>area<65>contourc<00> <00>US$)Nr<00>)<01>bs <20>-/home/slava/Downloads/module_v/test_detect.py<70><lambda><3E>find_boxes.<locals>.<lambda>\s<00><00>Q<EFBFBD>v<EFBFBD>Y<EFBFBD>T<><02>key<65>reverserg<><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?F)!<21>cv2<76>cvtColor<6F> COLOR_BGR2HSV<53>COLOR_BGR2GRAY<41>shape<70> threshold<6C> THRESH_BINARY<52>THRESH_BINARY_INV<4E> bitwise_and<6E>getStructuringElement<6E>
MORPH_RECT<EFBFBD> morphologyEx<45> MORPH_CLOSE<53>
MORPH_OPEN<EFBFBD>imwrite<74>os<6F>path<74>join<69>BASE_DIR<49> findContours<72> RETR_EXTERNAL<41>CHAIN_APPROX_SIMPLE<4C> contourArea<65> minAreaRect<63> boxPoints<74>np<6E>intp<74> boundingRect<63>max<61>min<69>size<7A>append<6E>sort),<2C>image<67>hsv<73>gray<61>h<>w<>boxes<65>_<> bright_mask<73>sat_mask<73>val_mask<73>combined<65>kernel<65>contours<72>min_area<65>max_area<65>cntr<00>rect<63>
box_points<EFBFBD>x<>y<>bw<62>bh<62>aspect<63>pad<61>x1<78>y1<79>x2<78>y2r<00>filtered<65>box<6F>bw1<77>bh1<68>keep<65>kept<70>bw2<77>bh2<68>ix1<78>iy1<79>ix2<78>iy2<79>inter<65>
area_smalls, r<00>
find_boxesrls<><00><00>
<0A>,<2C>,<2C>u<EFBFBD>c<EFBFBD>/<2F>/<2F>
0<EFBFBD>C<EFBFBD> <0E><<3C><<3C><05>s<EFBFBD>1<>1<> 2<>D<EFBFBD> <10>;<3B>;<3B>r<EFBFBD><01>?<3F>D<EFBFBD>A<EFBFBD>
<0F>E<EFBFBD><19>]<5D>]<5D>4<EFBFBD><13>c<EFBFBD>3<EFBFBD>3D<33>3D<33>E<>N<EFBFBD>A<EFBFBD><16>-<2D>-<2D><03>A<EFBFBD>q<EFBFBD>!<21>G<EFBFBD> <0C>b<EFBFBD>#<23>s<EFBFBD>7L<37>7L<37>M<>K<EFBFBD>A<EFBFBD><16>-<2D>-<2D><03>A<EFBFBD>q<EFBFBD>!<21>G<EFBFBD> <0C>c<EFBFBD>3<EFBFBD><03>8I<38>8I<38>J<>K<EFBFBD>A<EFBFBD><13><EFBFBD><EFBFBD>{<7B>5<>H<EFBFBD><12><EFBFBD><EFBFBD>x<EFBFBD>2<>H<EFBFBD><11> &<26> &<26>s<EFBFBD>~<7E>~<7E>v<EFBFBD> ><3E>F<EFBFBD><12><1F><1F><08>#<23>/<2F>/<2F>6<EFBFBD>a<EFBFBD>P<>H<EFBFBD><12><1F><1F><08>#<23>.<2E>.<2E>&<26>Q<EFBFBD>O<>H<EFBFBD><08>K<EFBFBD>K<EFBFBD><02><07><07> <0C> <0C>X<EFBFBD>'7<>8<>(<28>C<><15>"<22>"<22>8<EFBFBD>S<EFBFBD>-><3E>-><3E><03>@W<>@W<>X<>K<EFBFBD>H<EFBFBD><11><05><15><EFBFBD>H<EFBFBD><11><05><14>~<7E>H<EFBFBD><17><03><12><EFBFBD><EFBFBD>s<EFBFBD>#<23><04> <0F>(<28>?<3F>d<EFBFBD>X<EFBFBD>o<EFBFBD> <14><12><EFBFBD><EFBFBD>s<EFBFBD>#<23><04><18>]<5D>]<5D>4<EFBFBD>(<28>
<EFBFBD><17>W<EFBFBD>W<EFBFBD>Z<EFBFBD>(<28>
<EFBFBD><1A>'<27>'<27><03>,<2C> <0C><01>1<EFBFBD>b<EFBFBD>"<22><15>R<EFBFBD><12><1B><03>B<EFBFBD><02> <0B>d<EFBFBD> 2<>3<><06> <11>A<EFBFBD>:<3A> <14><10><03> <10><11>A<EFBFBD><03>G<EFBFBD>_<EFBFBD><02> <10><11>A<EFBFBD><03>G<EFBFBD>_<EFBFBD><02> <10><11>A<EFBFBD><02>F<EFBFBD>S<EFBFBD>L<EFBFBD> !<21><02> <10><11>A<EFBFBD><02>F<EFBFBD>S<EFBFBD>L<EFBFBD> !<21><02><13>B<EFBFBD>r<EFBFBD>E<EFBFBD>2<EFBFBD>b<EFBFBD>5<EFBFBD>L<EFBFBD>!<21><03> <0E>8<EFBFBD>8<EFBFBD>q<EFBFBD>=<3D> <14> <0A> <0C> <0C><16><17><12>R<EFBFBD>"<22>W<EFBFBD>b<EFBFBD>2<EFBFBD>g<EFBFBD>.<2E><1A>R<EFBFBD><07>A<EFBFBD>~<7E><02>R<EFBFBD><07>A<EFBFBD>~<7E>6<><18><1A> 
<EFBFBD> <0B>7<18>H
<EFBFBD>J<EFBFBD>J<EFBFBD>&<26><04>J<EFBFBD>5<><12>H<EFBFBD><14><03><1E>v<EFBFBD>;<3B><18><02>B<EFBFBD><03>S<EFBFBD><13><04><1C>D<EFBFBD>#<23>F<EFBFBD>|<7C> <1C>B<EFBFBD><02>C<EFBFBD><13><15>b<EFBFBD>"<22>+<2B>C<EFBFBD><15>b<EFBFBD>"<22>+<2B>C<EFBFBD><15>b<EFBFBD>3<EFBFBD>h<EFBFBD><02>S<EFBFBD><08>)<29>C<EFBFBD><15>b<EFBFBD>3<EFBFBD>h<EFBFBD><02>S<EFBFBD><08>)<29>C<EFBFBD><12>S<EFBFBD>y<EFBFBD>S<EFBFBD>3<EFBFBD>Y<EFBFBD><1C>s<EFBFBD><19>s<EFBFBD>S<EFBFBD>y<EFBFBD>1<><05> <20><13>s<EFBFBD><19>C<EFBFBD>#<23>I<EFBFBD>6<>
<EFBFBD><18>J<EFBFBD><14>-<2D>.<2E><13>4<> <20>D<EFBFBD><19><1D> <10>4<EFBFBD> <14>O<EFBFBD>O<EFBFBD>C<EFBFBD> <20>%<15>( <14>Orc<00><><00>U"USSS9nU(a^USRbNUSRnURnURR5n[R US5nXe4$g)zClassify a single ROI.<2E><>F)<02>imgsz<73>verboser<00><><EFBFBD><EFBFBD><EFBFBD>)rqg)<06>probs<62>top1<70>top1conf<6E>item<65>YOLO_TO_COMPETITION<4F>get)<07>modelr<00>resultsrr<00>
yolo_class<EFBFBD>
confidence<EFBFBD>
comp_classs r<00> classify_roir}wsj<00><00><13>C<EFBFBD>s<EFBFBD>E<EFBFBD>2<>G<EFBFBD><0E>7<EFBFBD>1<EFBFBD>:<3A>#<23>#<23>/<2F><17><01>
<EFBFBD> <20> <20><05><1A>Z<EFBFBD>Z<EFBFBD>
<EFBFBD><1A>^<5E>^<5E>(<28>(<28>*<2A>
<EFBFBD>(<28>,<2C>,<2C>Z<EFBFBD><12><<3C>
<EFBFBD><19>%<25>%<25> rc<00>h<00>[[RR[S55n[
R "[RR[S55nUc [S5 g[SURSSURS35 [U5n[S[U5S 35 UR5n/n[U5H<>upV[XS
5upx[RUS 5n UR!XxUS US 45 [SUS-SU SUSUSSUS SSUS SSUSS35 US up<>p<EFBFBD>["RUS5n[
R$"X:U 4X<>-X<>-4US5 U SUS3n[
R&"X?X<>S-
4[
R(SUS5 M<> [RR[S5n[
R*"UU5 [SU35 [S 5 0nUH5upxnn[RUS 5n URU S5S-UU 'M7 UR-5Hun n[S!U SU35 M [U5S":a[S#5 [/X5 gg)$Nzbest.ptztest.pngzError: cannot read test.pngz Image size: rrTrzFound z box regionsr<00>unknownrrz Box z: z (ID=z, conf=z.4fz
) center=(<28>, z) area=rz.0f<EFBFBD><03><>r<>r<>r<00> <20>.2fr<00><00>?ztest_result.pngz
Annotated result saved to: z
--- Summary ---<2D> rz*
--- Fallback: sliding window approach ---)rr0r1r2r3r!<00>imread<61>printr%rl<00>len<65>copy<70> enumerater}<00> CLASS_NAMESrwr@<00> CLASS_COLORS<52> rectangle<6C>putText<78>FONT_HERSHEY_SIMPLEXr/<00>items<6D>sliding_window_detect)rxrBrG<00> annotated<65> results_list<73>ir_r|<00>conf<6E>namerTrUrVrW<00>color<6F>label<65>out_path<74> class_countsrr<00>counts r<00>mainr<6E><00>s<><00><00> <10><12><17><17><1C><1C>h<EFBFBD> <09>2<> 3<>E<EFBFBD> <0F>J<EFBFBD>J<EFBFBD>r<EFBFBD>w<EFBFBD>w<EFBFBD>|<7C>|<7C>H<EFBFBD>j<EFBFBD>9<> :<3A>E<EFBFBD> <0C>}<7D> <0A>+<2B>,<2C><0E> <09>L<EFBFBD><15><1B><1B>Q<EFBFBD><1E>(<28><01>%<25>+<2B>+<2B>a<EFBFBD>.<2E>)9<>
:<3A>;<3B> <17>u<EFBFBD> <1D>E<EFBFBD> <09>F<EFBFBD>3<EFBFBD>u<EFBFBD>:<3A>,<2C>l<EFBFBD>
+<2B>,<2C><16>
<EFBFBD>
<EFBFBD> <0C>I<EFBFBD><15>L<EFBFBD><1B>E<EFBFBD>"<22><06><01>'<27><05>5<EFBFBD>z<EFBFBD>:<3A><18>
<EFBFBD><1A><EFBFBD><EFBFBD>z<EFBFBD>9<EFBFBD>5<><04><14><1B><1B>Z<EFBFBD>s<EFBFBD>8<EFBFBD>}<7D>c<EFBFBD>&<26>k<EFBFBD>J<>K<> <0A><06>q<EFBFBD><11>s<EFBFBD>e<EFBFBD>2<EFBFBD>d<EFBFBD>V<EFBFBD>5<EFBFBD><1A> <0C>G<EFBFBD>D<EFBFBD><13>:<3A>F<19><1C>X<EFBFBD><1D>q<EFBFBD>)<29>*<2A>"<22>S<EFBFBD><18>]<5D>1<EFBFBD>-=<3D>,><3E>?<16><19>&<26>k<EFBFBD>#<23>&<26>(<28> )<29>
<1B>6<EFBFBD>{<7B> <0C><01>b<EFBFBD><1C> <20> <20><1A>_<EFBFBD>=<3D><05> <0B> <0A> <0A>i<EFBFBD>Q<EFBFBD><16>!<21>&<26>!<21>&<26>)9<>5<EFBFBD>!<21>D<><17>&<26><01>$<24>s<EFBFBD><1A>$<24><05> <0B> <0B> <0B>I<EFBFBD>q<EFBFBD>a<EFBFBD>%<25>j<EFBFBD><17>,<2C>,<2C>c<EFBFBD>5<EFBFBD>!<21> =<3D>#<23>$<12>w<EFBFBD>w<EFBFBD>|<7C>|<7C>H<EFBFBD>&7<>8<>H<EFBFBD><07>K<EFBFBD>K<EFBFBD><08>)<29>$<24> <09> )<29>(<28><1A>
4<EFBFBD>5<>
<EFBFBD>
<1D><1E><15>L<EFBFBD>*6<>&<26>
<EFBFBD>&<26>$<24><1A><EFBFBD><EFBFBD>z<EFBFBD>9<EFBFBD>5<><04>)<29>-<2D>-<2D>d<EFBFBD>A<EFBFBD>6<><11>:<3A> <0C>T<EFBFBD><1A>+7<>$<24>)<29>)<29>+<2B> <0B><04>e<EFBFBD> <0A><02>4<EFBFBD>&<26><02>5<EFBFBD>'<27>"<22>#<23>,<2C> <0B>5<EFBFBD>z<EFBFBD>A<EFBFBD>~<7E> <0A>;<3B><<3C><1D>e<EFBFBD>+<2B>rc <00><><00>URSSup#US-US-4US-US-4/nSn/nUH<>upx[Xu-5n [X<>-5n
[SX'-
S-U 5Hcn [SX8-
S-U
5HJn XX<>-2X<>U-24n [X 5up<>US:<3A>dM&X<>S--X<>S--nnUR X<>UUX<>X<EFBFBD>45 ML Me M<> U(Ga<>UR S S
S 9 /nUHhnUSUSnnS nUH9n[ UUS-
5US -:dM[ UUS-
5US -:dM7S
n O U(aMWUR U5 Mj UR5nUH<>up<>nnp<>p<EFBFBD>[RUS5n[RUS5n[R"UX<>4X<>-X<>-4US5 USUS3n[R"UUX<>S -
4[RSUS5 [SUSUSSUSUS3 5 M<> [ R"R%[&S5n[R("UU5 [SU35 gg)z+Fallback: use sliding window to find boxes.Nrr<00>g333333<33>?rrg<><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?c<00> <00>US$)Nrr)<01>ds rr<00>'sliding_window_detect.<locals>.<lambda><3E>s<00><00>!<21>A<EFBFBD>$rTrFrrr<>r<>r<>r<>r<>z (conf=z) at (r<><00>)ztest_result_sliding.pngz Saved to: )r%<00>int<6E>ranger}r@rA<00>absr<73>r<>rwr<>r!r<>r<>r<>r<>r0r1r2r3r/)rxrBrErF<00> window_sizes<65>
step_ratio<EFBFBD>all_detections<6E>wh<77>ww<77>step_y<5F>step_xrUrTrr|r<><00>cx<63>cyrc<00>det<65>overlap<61>kr<6B>r<>r<>r<>r<>s rr<>r<><00>s}<00><00> <10>;<3B>;<3B>r<EFBFBD><01>?<3F>D<EFBFBD>A<EFBFBD><16>!<21>V<EFBFBD>Q<EFBFBD>!<21>V<EFBFBD>$<24>q<EFBFBD>A<EFBFBD>v<EFBFBD>q<EFBFBD>A<EFBFBD>v<EFBFBD>&6<>7<>L<EFBFBD><14>J<EFBFBD><17>N<EFBFBD><1E><06><02><14>R<EFBFBD>_<EFBFBD>%<25><06><14>R<EFBFBD>_<EFBFBD>%<25><06><16>q<EFBFBD>!<21>&<26>1<EFBFBD>*<2A>f<EFBFBD>-<2D>A<EFBFBD><1A>1<EFBFBD>a<EFBFBD>f<EFBFBD>q<EFBFBD>j<EFBFBD>&<26>1<><01><1B>a<EFBFBD>d<EFBFBD>F<EFBFBD>A<EFBFBD><02>d<EFBFBD>F<EFBFBD>N<EFBFBD>+<2B><03>#/<2F><05>#;<3B> <20>
<EFBFBD><17>#<23>:<3A><1E>q<EFBFBD><17>[<5B>!<21>A<EFBFBD>g<EFBFBD>+<2B><02>B<EFBFBD>"<22>)<29>)<29>:<3A>R<EFBFBD><12>Q<EFBFBD>2<EFBFBD>*R<>S<> 2<>.<2E> <1F><16><16><1B><1B><0E><04><1B>=<3D><11><04>!<21>C<EFBFBD><18><11>V<EFBFBD>S<EFBFBD><11>V<EFBFBD><02>B<EFBFBD><1B>G<EFBFBD><19><01><16>r<EFBFBD>A<EFBFBD>a<EFBFBD>D<EFBFBD>y<EFBFBD>><3E>A<EFBFBD><11>F<EFBFBD>*<2A>s<EFBFBD>2<EFBFBD><01>!<21><04>9<EFBFBD>~<7E><01>Q<EFBFBD><06>/F<>"<22>G<EFBFBD><19><1A><1B>7<EFBFBD><14> <0B> <0B>C<EFBFBD> <20>"<22><1A>J<EFBFBD>J<EFBFBD>L<EFBFBD> <09>6:<3A> 2<>J<EFBFBD>b<EFBFBD>"<22>a<EFBFBD>B<EFBFBD><1E>?<3F>?<3F>:<3A>y<EFBFBD>9<>D<EFBFBD> <20>$<24>$<24>Z<EFBFBD><1F>A<>E<EFBFBD> <0F>M<EFBFBD>M<EFBFBD>)<29>a<EFBFBD>V<EFBFBD>a<EFBFBD>f<EFBFBD>a<EFBFBD>f<EFBFBD>-=<3D>u<EFBFBD>a<EFBFBD> H<><1B>f<EFBFBD>A<EFBFBD>d<EFBFBD>3<EFBFBD>Z<EFBFBD>(<28>E<EFBFBD> <0F>K<EFBFBD>K<EFBFBD> <09>5<EFBFBD>1<EFBFBD>!<21>e<EFBFBD>*<2A><1B>0<>0<>#<23>u<EFBFBD>a<EFBFBD> A<01> <11>B<EFBFBD>t<EFBFBD>f<EFBFBD>G<EFBFBD>D<EFBFBD><13>:<3A>V<EFBFBD>B<EFBFBD>4<EFBFBD>r<EFBFBD>"<22><14>Q<EFBFBD>?<3F> @<40>7;<3B><16>7<EFBFBD>7<EFBFBD><<3C><<3C><08>*C<>D<><08> <0B> <0B> <0B>H<EFBFBD>i<EFBFBD>(<28> <0A> <0C>X<EFBFBD>J<EFBFBD>'<27>(<28>3r<00>__main__)<14>__doc__r!<00>numpyr:r0<00> ultralyticsrr1<00>dirname<6D>abspath<74>__file__r3rvr<>r<>rlr}r<>r<><00>__name__rrr<00><module>r<>s<><00><01><04>
 <0B><12> <09><1C> <0A>7<EFBFBD>7<EFBFBD>?<3F>?<3F>2<EFBFBD>7<EFBFBD>7<EFBFBD>?<3F>?<3F>8<EFBFBD>4<> 5<><08><1B><01>a<EFBFBD>(<28><13><1A>x<EFBFBD>H<EFBFBD>5<> <0B><1E>=<3D>[<5B>A<> <0C>b<14>J <13>3,<2C>l.)<29>b <0C>z<EFBFBD><19><08>F<EFBFBD>r