
    Ph                        d dl Zd dlZd dlmZ d dlmZmZ d dlm	Z	 ddl
mZmZ 	 ddej                  ded	ed
ededej                  dedej                  fdZ eeej                         eeej"                        	 ddej                  ded	ed
ededej                  dedej                  fd              Z eeej"                  j"                        	 ddej"                  j"                  ded	ed
ededej                  dedej"                  j"                  fd       Z eeej(                        	 ddej                  ded	ed
ededej                  dedej                  fd       Zy)    N)
tv_tensors)pil_to_tensorto_pil_image)_log_api_usage_once   )_get_kernel_register_kernel_internalinptijhwvinplacereturnc           	          t         j                  j                         rt        | ||||||      S t	        t
               t        t
        t        |             } || ||||||      S )z@See :class:`~torchvision.transforms.v2.RandomErase` for details.r   r   r   r   r   r   )torchjitis_scriptingerase_imager   eraser   type)r
   r   r   r   r   r   r   kernels           xC:\Users\daisl\Desktop\realtime-object-detection\venv\Lib\site-packages\torchvision/transforms/v2/functional/_augment.pyr   r      sZ     yy41Q!q'JJT
+F$!qAaAA    imagec                 N    |s| j                         } || d|||z   |||z   f<   | S )N.)clone)r   r   r   r   r   r   r   s          r   r   r      s8    
 '(E#q1q5y!a!e)
#$Lr   c           	      j    t        |       }t        |||||||      }t        || j                        S )Nr   )mode)r   r   r   r!   )	r   r   r   r   r   r   r   t_imgoutputs	            r   _erase_image_pilr$   *   s5     % E!qAaIFUZZ00r   videoc           	      &    t        | ||||||      S )Nr   )r   )r%   r   r   r   r   r   r   s          r   erase_videor'   3   s     uQ!qAwGGr   )F)	PIL.ImagePILr   torchvisionr   !torchvision.transforms.functionalr   r   torchvision.utilsr   _utilsr   r	   Tensorintboolr   Imager   r$   Videor'    r   r   <module>r4      s     " I 1 : B
,,B
B B 	B
 B ||B B \\B& 5%,,/5*"2"23Z_<<$',/47<ALLSW
\\ 4 0 5#))//2]b199??1"1'*1/217:1?D||1VZ1YY__1 31 5*"2"23Z_H<<HH$'H,/H47H<ALLHSWH
\\H 4Hr   