
    ^j	                         d Z 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mZ ddlmZmZ  ej                   e      Ze G d d	e             Zd	gZy)
z$Image processor class for Chameleon.    N   )TorchvisionBackend)
ImageInputPILImageResampling)ImagesKwargsUnpack)auto_docstringloggingc                        e Zd ZdZej
                  Zg dZg dZddiZ	dZ
dddZdZdZdZdZdZdZd	ee   f fd
ZdedefdZ xZS )ChameleonImageProcessorz=Torchvision backend for Chameleon with custom convert_to_rgb.)      ?r   r   shortest_edgei   F)heightwidthTgq?kwargsc                 $    t        |   di | y )N )super__init__)selfr   	__class__s     /var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/transformers/models/chameleon/image_processing_chameleon.pyr   z ChameleonImageProcessor.__init__0   s    "6"    imagereturnc                 $   t        |t        j                  j                        s|S |j                  dk(  r|S t	        j
                  |j                  d            }|dddddf   dk  j                         s|j                  d      S |dddddf   dz  }d|ddddt        j                  f   z
  dz  |ddddt        j                  f   |ddddddf   z  z   }t        j                  j                  |j                  d      d      S )	z
        Convert image to RGB by blending the transparency layer if it's in RGBA format.
        If image is not `PIL.Image`, it is simply returned without modifications.
        RGBRGBANr      g     o@   uint8)
isinstancePILImagemodenparrayconvertanynewaxis	fromarrayastype)r   r   img_rgbaalphaimg_rgbs        r   convert_to_rgbz&ChameleonImageProcessor.convert_to_rgb3   s    
 %1LZZ5 L88EMM&12 Aq!C',,.=='' Aq!E)uQ2::-..#5aBJJ>N8ORZ[\^_acbcac[cRd8ddyy""7>>'#:EBBr   )__name__
__module____qualname____doc__r   LANCZOSresample
image_mean	image_stdsizedefault_to_square	crop_size	do_resizedo_center_crop
do_rescalerescale_factordo_normalizedo_convert_rgbr   r   r   r   r0   __classcell__)r   s   @r   r   r      sz    G!))H JIS!D-IINJNLN#!5 #CJ C: Cr   r   )r4   numpyr&   	PIL.Imager#   image_processing_backendsr   image_utilsr   r   processing_utilsr   r   utilsr	   r
   
get_loggerr1   loggerr   __all__r   r   r   <module>rL      s^    +   ; 5 , 
		H	% &C0 &C &CR %
%r   