
    iy              	       :   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Js  Jr  S SKJrJr  S SKJr  S SKJr  S SKJrJr  S S	KJr  S S
KJr  \" 5       r  " S S\!5      r"S r#\$S:X  a  \#" \" 5       5        gg)    Nz../..auto_growthFLAGS_allocator_strategy)create_operators	transform)build_post_process)
get_logger)get_image_file_listcheck_and_read)
parse_args)PicoDetPostProcessc                        \ rS rSrS rS rSrg)LayoutPredictor&   c                 V   SSSS/00S/ SQ/ SQSS	S
.0SS 0SSS/00/nSUR                   UR                  UR                  S.n[        U5      U l        [        U5      U l        [        R                  " US[        5      u  U l
        U l        U l        U l        UR                  U l        g )NResizesizei   i`  NormalizeImage)gZd;O?gy&1?g?)g
ףp=
?gv/?gCl?z1./255.hwc)stdmeanscaleorder
ToCHWImageKeepKeys	keep_keysimager   )namelayout_dict_pathscore_thresholdnms_thresholdlayout)r   layout_score_thresholdlayout_nms_thresholdr   preprocess_opr   postprocess_oputilitycreate_predictorlogger	predictorinput_tensoroutput_tensorsconfiguse_onnx)selfargspre_process_listpostprocess_paramss       k/var/www/html/banglarbhumi/venv/lib/python3.13/site-packages/paddleocr/ppstructure/layout/predict_layout.py__init__LayoutPredictor.__init__'   s    c
+, 01&"	# 4 +y12
 ) $ 5 5#::!66	
 ..>?01CD $$T8V<	
NK    c                 z   UR                  5       nSU0n[        X0R                  5      nUS   nUc  g[        R                  " USS9nUR                  5       nSu  pE[
        R
                  " 5       n/ / pU R                  (       a  0 n	XU R                  R                  '   U R                  R                  U R                  U	5      n
[        [        U
5      S-  5      n[        U5       H,  nUR                  X   5        UR                  XU-      5        M.     OU R                  R!                  U5        U R                  R                  5         U R                  R#                  5       n[        [        U5      S-  5      n[        U5       Hz  nUR                  U R                  R%                  X   5      R'                  5       5        UR                  U R                  R%                  XU-      5      R'                  5       5        M|     [)        XxS9nU R+                  X!U5      n[
        R
                  " 5       U-
  nX4$ )Nr   r   )Nr   )axis)r         )boxes	boxes_num)copyr   r$   npexpand_dimstimer-   r*   r   r)   runr+   intlenrangeappendcopy_from_cpuget_output_namesget_output_handlecopy_to_cpudictr%   )r.   imgori_imdatapredselapse	starttimenp_score_listnp_boxes_list
input_dictoutputsnum_outsout_idxoutput_names
post_predss                  r2   __call__LayoutPredictor.__call__F   s   ~1121g;nnSq)hhjIIK	')2}==J14t((--.nn(()<)<jIG3w<!+,H ?$$W%56$$Wx-?%@A + ++C0NN >>::<L3|,q01H ?$$NN44$-!km
 $$NN44$x%78!km + =B((e<
y(!!r5   )r,   r*   r+   r%   r)   r$   r-   N)__name__
__module____qualname____firstlineno__r3   rX   __static_attributes__ r5   r2   r   r   &   s    &>,"r5   r   c                    [        U R                  5      n[        U 5      nSnSnSnU H  n[        U5      u  pxn	U(       d  [        R
                  " U5      nUc&  [        R                  SR                  U5      5        MW  U" U5      u  p[        R                  SR                  U
5      5        US:  a  XK-  nUS-  n[        R                  SR                  Xk5      5        M     g )Nr   2   zerror in loading image:{}z
result: {}r8   zPredict time of {}: {})	r	   	image_dirr   r
   cv2imreadr(   infoformat)r/   image_file_listlayout_predictorcount
total_timerepeats
image_filerJ   flag_
layout_resrN   s               r2   mainrp   u   s    )$..9O&t,EJG%
%j11**Z(C;KK3:::FG-c2
L''
3419 J
,33JGH &r5   __main__)%ossyspathdirnameabspath__file____dir__rD   insertjoinenvironrc   numpyr=   r?   tools.infer.utilityinferr&   
ppocr.datar   r   ppocr.postprocessr   ppocr.utils.loggingr   ppocr.utils.utilityr	   r
   ppstructure.utilityr   picodet_postprocessr   r(   objectr   rp   rZ   r_   r5   r2   <module>r      s    
 

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

% & 
   % % 2 0 * C * 2	L"f L"^I2 z r5   