
    ^h;	                     6   d dl mZ d dlZd dlZd dlZd dlmZ d dlZd dl	Z	d dl
Z
d Zd Zd Zd Z ej                          ej                   d       ej"                  dd	d
       ej"                  ddd      d                             Zedk(  r e        yy)    )print_functionNc           	      N    |\  }}}}t        dj                  | ||||             y )Nz{},{},{},{},{})printformat)filenamelocationtoprightbottomlefts         a/var/www/html/facial_api/venv/lib/python3.12/site-packages/face_recognition/face_detection_cli.pyprint_resultr      s,    'C	

!
!(C
EF    c                     t        j                  |       }t        j                  |d|      }|D ]  }t        | |        y )Nr   )number_of_times_to_upsamplemodel)face_recognitionload_image_fileface_locationsr   )image_to_checkr   unknown_imager   face_locations        r   
test_imager      sA    $44^DM%44]`ainoN' 4^]34r   c                     t        j                  |       D cg c]I  }t        j                  d|t        j                        s*t         j
                  j                  | |      K c}S c c}w )Nz.*\.(jpg|jpeg|png))flags)oslistdirrematchIpathjoin)folderfs     r   image_files_in_folderr%      sF    -/ZZ-?r288LacdlnlplpCqBGGLL#rrrs   +A)"A)c                    |dk(  rd }n|}t         }dt        j                         v rt        j                  d      }|j                  |      }t	        | t        j                  |            }|j                  t        |       y )N
forkserver)	processes)	multiprocessingget_all_start_methodsget_contextPoolzip	itertoolsrepeatstarmapr   )images_to_checknumber_of_cpusr   r)   contextpoolfunction_parameterss          r   process_images_in_process_poolr7      sy    	"	 G<<>>!--l;<<)<,D
 	LL01r   r   z--cpus   zDnumber of CPU cores to use in parallel. -1 means "use all in system")defaulthelpz--modelhogz>Which face detection model to use. Options are "hog" or "cnn".c                 B   t         j                  dk  r|dk7  rt        j                  d       d}t        j
                  j                  |       r@|dk(  r$t        |       D cg c]  }t        ||       c} y t        t        |       ||       y t        | |       y c c}w )N)      r8   zmWARNING: Multi-processing support requires Python 3.4 or greater. Falling back to single-threaded processing!)
sysversion_infoclickechor   r!   isdirr%   r   r7   )r   cpusr   
image_files       r   mainrF   2   s     	6!tqy

  C  	D	ww}}^$19=RSa=bczZ
E*c*+@+PRVX]^>5)	 ds   !B__main__)
__future__r   rA   r   r   face_recognition.apiapir   r*   r?   r/   r   r   r%   r7   commandargumentoptionrF   __name__ r   r   <module>rP      s    %  	 	 /  
 G
4s2*  !h(noi-mn* o p " * zF r   