
    i              	       >   S SK r S SKr\ R                  R                  \ R                  R	                  \5      5      r\R                  R                  \5        \R                  R                  S \ R                  R	                  \ R                  R                  \S5      5      5        S\ R                  S'   S SKrS SKrS SKrS SKrS SKrS SKrS SKJs  Jr  S SKJr  S SKJr  S SKJrJr  \" 5       r " S S	\5      rS
 r\ S:X  a  \" \RB                  " 5       5        gg)    Nz../..auto_growthFLAGS_allocator_strategy)build_post_process)
get_logger)get_image_file_listcheck_and_readc                   &    \ rS rSrS rS rS rSrg)TextClassifier&   c                    UR                   R                  S5       Vs/ s H  n[        U5      PM     snU l         UR                  U l        UR                  U l        SUR
                  S.n[        U5      U l        [        R                  " US[        5      u  U l        U l        U l        nUR                  U l        g s  snf )N,ClsPostProcess)name
label_listcls)cls_image_shapesplitintcls_batch_num
cls_threshr   r   postprocess_oputilitycreate_predictorlogger	predictorinput_tensoroutput_tensorsuse_onnx)selfargsvpostprocess_params_s        a/var/www/html/banglarbhumi/venv/lib/python3.13/site-packages/paddleocr/tools/infer/predict_cls.py__init__TextClassifier.__init__'   s    040D0D0J0J30OP0O1A0OP!////$//
 11CD $$T5&9	
N  Qs   B>c                 N   U R                   u  p#nUR                  S   nUR                  S   nU[        U5      -  n[        R                  " X7-  5      U:  a  UnO![        [        R                  " X7-  5      5      n[        R                  " XU45      n	U	R                  S5      n	U R                   S   S:X  a  U	S-  n	U	[        R                  S S 24   n	OU	R                  S5      S-  n	U	S-  n	U	S-  n	[        R                  " X#U4[        R                  S9n
XS S 2S S 2SU24'   U
$ )Nr      float32   )   r   r(   g      ?)dtype)r   shapefloatmathceilr   cv2resizeastypenpnewaxis	transposezerosr)   )r   imgimgCimgHimgWhwratio	resized_wresized_image
padding_ims              r$   resize_norm_imgTextClassifier.resize_norm_img8   s   //DIIaLIIaLE!H99T\"T)IDIIdl34I

3D(9:%,,Y7"a')C/M)"**a-8M)33I>DMXXt40

C
(51a9$%    c                    [         R                  " U5      n[        U5      n/ nU H:  nUR                  UR                  S   [        UR                  S   5      -  5        M<     [        R                  " [        R                  " U5      5      nSS//U-  nU R                  nSn[        SX'5       GH>  n	[        X)U-   5      n
/ nSn[        R                  " 5       n[        X5       H.  nXU      R                  SS u  nnUS-  U-  n[        UU5      nM0     [        X5       HA  nU R                  XU      5      nU[        R                  S S 24   nUR                  U5        MC     [        R                   " U5      nUR                  5       nU R"                  (       aG  0 nUUU R$                  R&                  '   U R(                  R+                  U R,                  U5      nUS   nOlU R$                  R/                  U5        U R(                  R+                  5         U R,                  S   R1                  5       nU R(                  R3                  5         U R5                  U5      nU[        R                  " 5       U-
  -  n[        [        U5      5       HX  nUU   u  nnUU/XeU	U-      '   SU;   d  M  UU R6                  :  d  M1  [8        R:                  " XU	U-         S5      XU	U-      '   MZ     GMA     XU4$ )Nr(   r    g        r+   g      ?180)copydeepcopylenappendr-   r.   r4   argsortarrayr   rangemintimemaxrB   r5   concatenater   r   r   r   runr   copy_from_cpucopy_to_cputry_shrink_memoryr   r   r1   rotate)r   img_listimg_num
width_listr8   indicescls_res	batch_numelapse
beg_img_no
end_img_nonorm_img_batchmax_wh_ratio	starttimeinor<   r=   wh_rationorm_img
input_dictoutputsprob_out
cls_resultrnolabelscores                             r$   __call__TextClassifier.__call__N   s   ==*h-
CciilU399Q<-@@A  **RXXj129+'&&	76JW9&<=JNL		IZ4-33Aa81s7Q;"<: 5 Z4//0FG#BJJM2%%h/ 5  ^^N;N+002N}}
5C
4,,112..,,T-@-@*M"1:!!//?""$..q1==?002,,X6JdiikI--FS_-)#u6;U^
S 012E>edoo&=:=** c)9!:;Q;HZ#%567	 .9 7F &((rD   )r   r   r   r   r   r   r   r   N)__name__
__module____qualname____firstlineno__r%   rB   rn   __static_attributes__ rD   r$   r
   r
   &   s    &",0)rD   r
   c                    [        U R                  5      n[        U 5      n/ n/ nU Hy  n[        U5      u  pgnU(       d  [        R
                  " U5      nUc&  [        R                  SR                  U5      5        MW  UR                  U5        UR                  U5        M{      U" U5      u  pIn
[        [        U5      5       H-  n[        R                  SR                  X<   W	U   5      5        M/     g ! [         aQ  n[        R                  [        R                  " 5       5        [        R                  U5        [        5          S nANS nAff = f)Nzerror in loading image:{}zPredicts of {}:{})r   	image_dirr
   r   r1   imreadr   infoformatrK   	Exception	traceback
format_excexitrN   rJ   )r    image_file_listtext_classifiervalid_image_file_listrX   
image_filer8   flagr#   r\   predict_timeErd   s                r$   mainr      s   )$..9O$T*OH%
%j11**Z(C;KK3:::FG$$Z0 &*9(*C'<
 S]#&&'<'A73<P	
 $	  I((*+As   %C6 6
E AEE__main__)"ossyspathdirnameabspath__file____dir__rK   insertjoinenvironr1   rH   numpyr4   r/   rP   r|   tools.infer.utilityinferr   ppocr.postprocessr   ppocr.utils.loggingr   ppocr.utils.utilityr   r   r   objectr
   r   rp   
parse_argsru   rD   r$   <module>r      s    
 

''//"''//(3
4   277??277<<#AB C)6

% & 
      % % 0 * C	X)V X)v
4 z			 rD   