
    9i
                         S SK rS SKJr  SSKJr  SSKJrJr  \" S5      (       a  S SK	r	S r
SS jr\" S5      S	 5       rS
 r\" S5      S 5       r\" S5      S 5       rS r\" S5      S 5       rg)    N)Image   )logging)function_requires_depsis_dep_availablezopencv-contrib-pythonc                     [        U [        [        45      (       a?  [        U 5      S:X  a0  [        U S   [        5      (       a  [        U S   [        5      (       d  [        U  S35      eg)zcheck image size   r      z% cannot represent a valid image size.N)
isinstancelisttuplelenint	TypeError)input_s    l/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/paddlex/inference/models/common/vision/funcs.pycheck_image_sizer      s[     	6D%=))K1vay#&&vay#&&6("GHII '    c                    Uu  pEX@R                   S   :X  a  XPR                   S   :X  a  U $ UR                  5       S:X  a  [        nO4[        nUR                  5       S:w  a  [        R
                  " SU S35        U" XU4U5      n U $ )zresize image to target sizer
   r   pilcv2zUnknown backend z!. Defaulting to cv2 for resizing.)shapelower_pil_resize_cv2_resizer   warning)imtarget_sizeinterpbackendwhresize_functions          r   resizer$   $   s    DAHHQKA!,	}}%%%==?e#OO"7)+LM 
VV	,BIr   c                 ,    [         R                  " XUS9$ )N)interpolation)r   r$   )srcsizeresamples      r   r   r   5   s    ::cx88r   c                     [        U [        R                  5      (       a  [        R                  " U 5      nOU nUR                  X5      n[        R                  " U5      $ )N)r   npndarrayr   	fromarrayr$   asarray)r'   r(   r)   pil_imgs       r   r   r   :   sC    #rzz""//#&nnT,G::gr   c                 0    [         R                  " U S5      $ )zflip image horizontallyr
   r   flipr   s    r   flip_hr4   C        88B?r   c                 0    [         R                  " U S5      $ )zflip image verticallyr   r1   r3   s    r   flip_vr7   I   r5   r   c                 $    Uu  p#pEXU2X$2S4   n U $ )zslice the image. )r   coordsx1y1x2y2s         r   slicer?   O   s%    NBB	rE25#	BIr   c                 6   [        U[        5      (       a  U/S-  n[        U5      S:w  a  [        e[	        S U 5       5      (       a  U $ U R
                  S:X  a  SOU R                  S   n[        R                  " U /UQ[        R                  P7SU4U-  06n U $ )zpadding image by value   c              3   *   #    U  H	  oS :H  v   M     g7f)r   Nr9   ).0xs     r   	<genexpr>pad.<locals>.<genexpr>]   s     
3a63s   r	   r
   value)
r   r   r   
ValueErrorallndimr   r   copyMakeBorderBORDER_CONSTANT)r   padvalchnss       r   rM   rM   V   s     #seai
3x1}

3
	11"((1+D			B	O	Oc&9&9	O#$	OBIr   )r   )numpyr+   PILr   utilsr   
utils.depsr   r   r   r   r$   r   r   r4   r7   r?   rM   r9   r   r   <module>rT      s       D+,,J" /09 19 /0 1
 /0 1
 /0 1r   