o
�J�h_� � @ s� d dl Z d dlZd dlmZ d dlmZmZmZmZm Z m
Z
mZ d dlZ
d dlZd dlmZ ddlmZmZmZmZmZmZmZmZmZmZmZmZ ddlmZm Z m!Z!m"Z"m#Z#m$Z$ e� r�d dl%Z&d dl'Z&e�(e�(e&j)�j*�e�(d�krye&j+j,Z-ne&j+Z-e� r�d d l.m/Z/ e-j0e/j0e-j1e/j1e-j2e/j2e-j3e/j3e-j4e/j4e-j5e/j5iZ6er�e� r�d dl7Z7e�8e9�Z:ed
e
j;ded
ee
j; ed f Z<eed
dded ed eed
eed
eed f Z=G dd� de�Z>G dd� de�Z?G dd� de�Z@eeAeeBeAee f f ZCdd� ZDG dd� de�ZEdd� ZFdd� ZGdd� ZHdd� ZId e
j;d!eJfd"d#�ZKdad%eBd!ee< fd&d'�ZLd!e
j;fd(d)�ZM dbd e
j;d*e eeBe
eBd+f f d!e>fd,d-�ZN dbd e
j;d.e ee>eAf d!eBfd/d0�ZOdbd e
j;d1e>d!e
eBeBf fd2d3�ZPd4eeAeee
f f d!eJfd5d6�ZQd4eeAeee
f f d!eJfd7d8�ZRd9eeeAeee
f f d!eJfd:d;�ZSd9eeeAeee
f f d!eJfd<d=�ZTdbd eeAd
f d>e eU d!d
fd?d@�ZV dbdAeee
eAd
f d>e eU d!ed
ed
eed
f fdBdC�ZW dcdDe eJ dEe eU dFe eJ dGe eeUeeU f dHe eeUeeU f dIe eJ dJe eB dKe eJ dLe eeAeBf dMe eJ dNe eeAeBf dOe dP fdQdR�ZXddddddddddddde>jYfdDe eJ dEe eU dFe eJ dGe eeUeeU f dHe eeUeeU f dIe eJ dJe eB dKe eJ dLe eeAeBf dMe eJ dNe eeAeBf dOe dP dSe eeAef dTe e> fdUdV�ZZG dWdX� dX�Z[dYe?dZe
e?d+f d9ee d!dfd[d\�Z\d]eeA d^eeA fd_d`�Z]dS )d� N)�BytesIO)�
TYPE_CHECKING�Dict�Iterable�List�Optional�Tuple�Union)�version� )�ExplicitEnum�
TensorType�
is_jax_tensor�is_numpy_array�is_tf_tensor�is_torch_available�is_torch_tensor�is_torchvision_available�is_vision_available�logging�requires_backends�to_numpy)�IMAGENET_DEFAULT_MEAN�IMAGENET_DEFAULT_STD�IMAGENET_STANDARD_MEAN�IMAGENET_STANDARD_STD�OPENAI_CLIP_MEAN�OPENAI_CLIP_STDz9.1.0)�InterpolationModezPIL.Image.Imageztorch.Tensorz
np.ndarrayznp.ndarrrayc @ � e Zd ZdZdZdS )�ChannelDimension�channels_first�
channels_lastN)�__name__�
__module__�__qualname__�FIRST�LAST� r( r( �VC:\pinokio\api\whisper-webui.git\app\env\lib\site-packages\transformers\image_utils.pyr ` � r c @ r )�AnnotationFormatZcoco_detectionZ
coco_panopticN)r# r$ r% �COCO_DETECTION�
COCO_PANOPTICr( r( r( r) r+ e r* r+ c @ s e Zd ZejjZejjZdS )�AnnotionFormatN)r# r$ r% r+ r, �valuer- r( r( r( r) r. j s r. c C s t � o t| tjj�S �N)r �
isinstance�PIL�Image��imgr( r( r) �is_pil_imager s r6 c @ s e Zd ZdZdZdZdZdZdS )� ImageType�pillow�torch�numpy�
tensorflow�jaxN)r# r$ r% r2 �TORCH�NUMPY�
TENSORFLOW�JAXr( r( r( r) r7 v s r7 c C sX t | �rtjS t| �rtjS t| �rtjS t| �rtjS t | �r#tj
S tdt| �� ���)NzUnrecognised image type )
r6 r7 r2 r r= r r>