
    >|h                     B    d dl Z d dlZdde j                  fdZd Zd Zy)    Nc                     d }| j                   d d \  }}||| S ||t        |      z  }t        ||z        |f}n|t        |      z  }|t        ||z        f}t        j                  | ||      }|S )N   )interpolation)shapefloatintcv2resize)	imagewidthheightinterdimhwrresizeds	            g/var/www/html/test/engine/venv/lib/python3.12/site-packages/face_alignment/detection/blazeface/utils.pyimage_resizer      s     C[[!_FQ } } U1X1q5z6" E!Hc!a%j! jj59G N    c                    | j                   d   | j                   d   kD  rjt        | |      }| j                   d   | j                   d   z
  dz  d}}|j                   d   |j                   d   z
  dz  }||z   }|||d d d d f   ||ffS t        | |      }d| j                   d   | j                   d   z
  dz  }}|j                   d   |j                   d   z
  dz  }||z   }|d d ||d d f   ||ffS )Nr      )r   r   )r   )r   r   )	r   r   imgyshiftxshifty_starty_endx_startx_ends	            r   resize_and_crop_imager    %   s   {{1~A&5,++a.5;;q>9a?99Q<#))A,.14#75=!Q&'&&)9995-U[[^ekk!n<B99Q<#))A,.14#1gemQ&'&&)999r   c                     g }d\  }}t        t        |             D ](  }t        | |   |      \  }\  }}|j                  |       * t	        j
                  |      }|||ffS )z
    Center crop + resize to (dim x dim)
    inputs:
        - frames: list of images (numpy arrays)
        - dim: output dimension size
    )r   r   )rangelenr    appendnpstack)framesr   smframesr   r   ismframes          r   resize_and_crop_batchr+   4   sp     HNFF3v; !$9&)S$I!!&& ! xx!Hff%%%r   )r	   numpyr%   
INTER_AREAr   r    r+    r   r   <module>r/      s(    
  #4s~~ @:&r   