# Обработчик изображений VAE

Класс [VaeImageProcessor](/docs/diffusers/v0.43.0/ru/api/image_processor#diffusers.VaeImageProcessor) предоставляет единый API для [StableDiffusionPipeline](/docs/diffusers/v0.43.0/ru/api/pipelines/stable_diffusion/text2img#diffusers.StableDiffusionPipeline), позволяющий готовить входные изображения для кодирования VAE и выполнять постобработку выходов после их декодирования. Сюда входят такие преобразования, как изменение размера, нормализация и конвертация между массивами PIL Image, PyTorch и NumPy.

Все пайплайны с [VaeImageProcessor](/docs/diffusers/v0.43.0/ru/api/image_processor#diffusers.VaeImageProcessor) принимают в качестве входных изображений PIL Image, тензоры PyTorch или массивы NumPy и возвращают результат в соответствии с аргументом `output_type`, указанным пользователем. Вы можете передать закодированные латенты изображения напрямую в пайплайн и получить латенты из пайплайна в качестве конкретного вывода с помощью аргумента `output_type` (например, `output_type="latent"`). Это позволяет извлекать сгенерированные латенты из одного пайплайна и передавать их в другой пайплайн в качестве входа, не покидая латентное пространство. Кроме того, это значительно упрощает совместное использование нескольких пайплайнов за счёт прямой передачи тензоров PyTorch между различными пайплайнами.

## VaeImageProcessor[[diffusers.VaeImageProcessor]]

#### diffusers.VaeImageProcessor[[diffusers.VaeImageProcessor]]

```python
diffusers.VaeImageProcessor(do_resize: bool = True, vae_scale_factor: int = 8, vae_latent_channels: int = 4, resample: str = 'lanczos', reducing_gap: int | None = None, do_normalize: bool = True, do_binarize: bool = False, do_convert_rgb: bool = False, do_convert_grayscale: bool = False)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/image_processor.py#L83)

**Параметры:**

do_resize (`bool`, *необязательный*, по умолчанию `True`) : Указывает, следует ли масштабировать размеры изображения (высота, ширина) до кратных `vae_scale_factor`. Может принимать аргументы `height` и `width` из метода [image_processor.VaeImageProcessor.preprocess()](/docs/diffusers/v0.43.0/ru/api/image_processor#diffusers.VaeImageProcessor.preprocess).

vae_scale_factor (`int`, *optional*, по умолчанию `8`) : масштабный коэффициент VAE. Если `do_resize` равно `True`, изображение автоматически масштабируется до кратных этого коэффициента.

resample (`str`, *необязательный*, по умолчанию `lanczos`) : Фильтр ресемплинга, используемый при изменении размера изображения.

do_normalize (`bool`, *необязательный*, по умолчанию `True`) : Нужно ли нормализовать изображение в диапазон [-1,1].

do_binarize (`bool`, *необязательный*, по умолчанию `False`) : Бинаризовать ли изображение в 0/1.

do_convert_rgb (`bool`, *необязательный*, по умолчанию `False`) : Преобразовать ли изображения в формат RGB.

do_convert_grayscale (`bool`, *необязательный*, по умолчанию `False`) : Преобразовать ли изображения в формат оттенков серого.

Обработчик изображений для VAE.

#### apply_overlay[[diffusers.VaeImageProcessor.apply_overlay]]

```python
apply_overlay(mask: Image, init_image: Image, image: Image, crop_coords: tuple[int, int, int, int] | None = None)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/image_processor.py#L789)

**Параметры:**

mask (`PIL.Image.Image`) : маска, выделяющая области для наложения.

init_image (`PIL.Image.Image`) : исходное изображение, к которому применяется наложение.

image (`PIL.Image.Image`) : изображение, которое нужно наложить на исходное.

crop_coords (`tuple[int, int, int, int]`, *optional*) : Координаты для обрезки изображения. Если указаны, изображение будет обрезано в соответствии с ними.

**Возвращает:** `PIL.Image.Image`

Итоговое изображение с наложенным оверлеем.

Наносит наложение маски и отредактированного изображения на исходное изображение.

#### бинаризация[[diffusers.VaeImageProcessor.binarize]]

```python
binarize(image: Image)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/image_processor.py#L524)

**Параметры:**

image (`PIL.Image.Image`) : входное изображение, должно быть изображением в формате PIL.

**Возвращает:** `PIL.Image.Image`

Двоичное изображение. Значения, меньшие 0.5, устанавливаются в 0, значения, большие 0.5, устанавливаются в 1.

Создайте маску.

#### blur[[diffusers.VaeImageProcessor.blur]]

```python
blur(image: Image, blur_factor: int = 4)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/image_processor.py#L271)

**Параметры:**

image (`PIL.Image.Image`) : Изображение PIL, которое нужно преобразовать в оттенки серого.

**Возвращает:** `PIL.Image.Image`

Изображение PIL, преобразованное в оттенки серого.

Применяет гауссово размытие к изображению.

#### convert_to_grayscale[[diffusers.VaeImageProcessor.convert_to_grayscale]]

```python
convert_to_grayscale(image: Image)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/image_processor.py#L254)

**Параметры:**

image (`PIL.Image.Image`) : входное изображение для преобразования.

**Возвращает:** `PIL.Image.Image`

Изображение, преобразованное в оттенки серого.

Преобразует заданное изображение PIL в оттенки серого.

#### convert_to_rgb[[diffusers.VaeImageProcessor.convert_to_rgb]]

```python
convert_to_rgb(image: Image)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/image_processor.py#L237)

**Параметры:**

image (`PIL.Image.Image`) : Изображение PIL, которое нужно преобразовать в RGB.

**Возвращает:** `PIL.Image.Image`

Изображение PIL, преобразованное в RGB.

Преобразует изображение PIL в формат RGB.

#### denormalize[[diffusers.VaeImageProcessor.denormalize]]

```python
denormalize(images: typing.Union[numpy.ndarray, torch.Tensor])
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/image_processor.py#L222)

**Параметры:**

images (`np.ndarray` или `torch.Tensor`) : Массив изображения для денормализации.

**Возвращает:** `np.ndarray` или `torch.Tensor`

Массив денормализованного изображения.

Разнормализовать массив изображения до [0,1].

#### get_crop_region[[diffusers.VaeImageProcessor.get_crop_region]]

```python
get_crop_region(mask_image: Image, width: int, height: int, pad = 0)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/image_processor.py#L288)

**Параметры:**

mask_image (PIL.Image.Image) : Изображение маски.

width (int) : Ширина обрабатываемого изображения.

height (int) : Высота обрабатываемого изображения.

pad (int, optional) : Отступ, добавляемый к области обрезки. По умолчанию 0.

**Возвращает:** `tuple`

(x1, y1, x2, y2) представляют прямоугольную область, содержащую все замаскированные области на изображении и соответствующую исходному соотношению сторон.

Находит прямоугольную область, содержащую все замаскированные области на изображении, и расширяет её до соотношения сторон исходного изображения; например, если пользователь нарисовал маску в области 128x32, а размеры для обработки составляют 512x512, область будет расширена до 128x128.

#### get_default_height_width[[diffusers.VaeImageProcessor.get_default_height_width]]

```python
get_default_height_width(image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor], height: int | None = None, width: int | None = None)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/image_processor.py#L561)

**Параметры:**

image (`PIL.Image.Image | np.ndarray | torch.Tensor`) : Входное изображение, которое может быть изображением PIL, массивом NumPy или тензором PyTorch. Если это массив NumPy, его форма должна быть `[batch, height, width]` или `[batch, height, width, channels]`. Если это тензор PyTorch, его форма должна быть `[batch, channels, height, width]`.

height (`int | None`, *необязательный*, по умолчанию `None`) : Высота предобработанного изображения. Если `None`, будет использована высота входного `image`.

width (`int | None`, *необязательный*, по умолчанию `None`) : Ширина предобработанного изображения. Если `None`, будет использована ширина входного `image`.

**Возвращает:** `tuple[int, int]`

Кортеж, содержащий высоту и ширину, обе из которых изменены до ближайшего целого кратного `vae_scale_factor`.

Возвращает высоту и ширину изображения, уменьшенные до ближайшего целого кратного `vae_scale_factor`.

#### normalize[[diffusers.VaeImageProcessor.normalize]]

```python
normalize(images: typing.Union[numpy.ndarray, torch.Tensor])
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/image_processor.py#L207)

**Параметры:**

images (`np.ndarray` или `torch.Tensor`) : Массив изображения для нормализации.

**Возвращает:** `np.ndarray` или `torch.Tensor`

Нормализованный массив изображения.

Нормализовать массив изображения до [-1,1].

#### numpy_to_pil[[diffusers.VaeImageProcessor.numpy_to_pil]]

```python
numpy_to_pil(images: ndarray)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/image_processor.py#L128)

**Параметры:**

images (`np.ndarray`) : Массив изображения для преобразования в формат PIL.

**Возвращает:** `list[PIL.Image.Image]`

Список изображений PIL.

Преобразование изображения numpy или пакета изображений в изображение PIL.

#### numpy_to_pt[[diffusers.VaeImageProcessor.numpy_to_pt]]

```python
numpy_to_pt(images: ndarray)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/image_processor.py#L172)

**Параметры:**

images (`np.ndarray`) : Массив изображения NumPy для преобразования в формат PyTorch.

**Возвращает:** `torch.Tensor`

Представление изображений в виде тензора PyTorch.

Преобразование изображения NumPy в тензор PyTorch.

#### pil_to_numpy[[diffusers.VaeImageProcessor.pil_to_numpy]]

```python
pil_to_numpy(images: list[PIL.Image.Image] | PIL.Image.Image)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/image_processor.py#L152)

**Параметры:**

images (`PIL.Image.Image` или `list[PIL.Image.Image]`) : Изображение PIL или список изображений для преобразования в формат NumPy.

**Возвращает:** `np.ndarray`

Представление изображений в виде массива NumPy.

Преобразовать изображение PIL или список изображений PIL в массивы NumPy.

#### postprocess[[diffusers.VaeImageProcessor.postprocess]]

```python
postprocess(image: Tensor, output_type: str = 'pil', do_denormalize: list[bool] | None = None)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/image_processor.py#L739)

**Параметры:**

image (`torch.Tensor`) : Входное изображение, должно быть тензором PyTorch с формой `B x C x H x W`.

output_type (`str`, *необязательный*, по умолчанию `pil`) : Тип выходного изображения, может быть одним из `pil`, `np`, `pt`, `latent`.

do_denormalize (`list[bool]`, *необязательный*, по умолчанию `None`) : Нужно ли денормализовать изображение до [0,1]. Если `None`, будет использовано значение `do_normalize` из конфигурации `VaeImageProcessor`.

**Возвращает:** `PIL.Image.Image`, `np.ndarray` или `torch.Tensor`

Обработанное изображение.

Постобработка изображения: преобразование из тензора в `output_type`.

#### preprocess[[diffusers.VaeImageProcessor.preprocess]]

```python
preprocess(image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor, list[PIL.Image.Image], list[numpy.ndarray], list[torch.Tensor]], height: int | None = None, width: int | None = None, resize_mode: str = 'default', crops_coords: tuple[int, int, int, int] | None = None)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/image_processor.py#L608)

**Параметры:**

image (`PipelineImageInput`) : входное изображение, поддерживаемые форматы: изображения PIL, массивы NumPy, тензоры PyTorch; также принимается список поддерживаемых форматов.

height (`int`, *optional*) : Высота в пикселях предобработанного изображения. Если `None`, будет использована `get_default_height_width()` для получения значения по умолчанию.

width (`int`, *optional*) : Ширина в предобработанном виде. Если `None`, будет использована get_default_height_width()` для получения ширины по умолчанию.

resize_mode (`str`, *optional*, по умолчанию `default`) : Режим изменения размера, может быть `default` или `fill`. Если `default`, изображение будет изменено в размер, чтобы поместиться в заданные ширину и высоту, при этом исходное соотношение сторон может не сохраняться. Если `fill`, изображение будет изменено в размер, чтобы поместиться в заданные ширину и высоту, с сохранением соотношения сторон, а затем центрировано в пределах этих размеров, при этом пустые области заполняются данными из изображения. Если `crop`, изображение будет изменено в размер, чтобы поместиться в заданные ширину и высоту, с сохранением соотношения сторон, а затем центрировано в пределах этих размеров, с обрезкой лишних частей. Обратите внимание, что resize_mode `fill` и `crop` поддерживаются только для входных изображений PIL.

crops_coords (`list[tuple[int, int, int, int]]`, *необязательный*, по умолчанию `None`) : Координаты обрезки для каждого изображения в батче. Если `None`, изображение не будет обрезано.

**Возвращает:** `torch.Tensor`

Предобработанное изображение.

Предобработка входных изображений.

#### pt_to_numpy[[diffusers.VaeImageProcessor.pt_to_numpy]]

```python
pt_to_numpy(images: Tensor)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/image_processor.py#L191)

**Параметры:**

images (`torch.Tensor`) : Тензор PyTorch, который нужно преобразовать в формат NumPy.

**Возвращает:** `np.ndarray`

Представление изображений в виде массива NumPy.

Преобразование тензора PyTorch в изображение NumPy.

#### resize[[diffusers.VaeImageProcessor.resize]]

```python
resize(image: typing.Union[PIL.Image.Image, numpy.ndarray, torch.Tensor], height: int, width: int, resize_mode: str = 'default')
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/image_processor.py#L463)

**Параметры:**

image (`PIL.Image.Image`, `np.ndarray` или `torch.Tensor`) : Входное изображение, может быть изображением PIL, массивом numpy или тензором pytorch.

height (`int`) : Высота, к которой нужно изменить размер.

width (`int`) : Ширина, к которой нужно изменить размер.

resize_mode (`str`, *необязательный*, по умолчанию `default`) : Режим изменения размера, может быть `default` или `fill`. Если `default`, изображение будет изменено в размер, чтобы поместиться в заданные ширину и высоту, при этом исходное соотношение сторон может не сохраняться. Если `fill`, изображение будет изменено в размер, чтобы поместиться в заданные ширину и высоту, с сохранением соотношения сторон, а затем центрировано в пределах этих размеров, при этом пустые области заполняются данными из изображения. Если `crop`, изображение будет изменено в размер, чтобы поместиться в заданные ширину и высоту, с сохранением соотношения сторон, а затем центрировано в пределах этих размеров, с обрезкой лишних частей. Обратите внимание, что resize_mode `fill` и `crop` поддерживаются только для входных изображений PIL.

**Возвращает:** `PIL.Image.Image`, `np.ndarray` или `torch.Tensor`

Изображение изменённого размера.

Изменение размера изображения.

## InpaintProcessor[[diffusers.InpaintProcessor]]

[InpaintProcessor](/docs/diffusers/v0.43.0/ru/api/image_processor#diffusers.InpaintProcessor) принимает на вход `mask` и `image` и обрабатывает их совместно. По желанию он может принимать padding_mask_crop и применять наложение маски.

#### diffusers.InpaintProcessor[[diffusers.InpaintProcessor]]

```python
diffusers.InpaintProcessor(do_resize: bool = True, vae_scale_factor: int = 8, vae_latent_channels: int = 4, resample: str = 'lanczos', reducing_gap: int | None = None, do_normalize: bool = True, do_binarize: bool = False, do_convert_grayscale: bool = False, mask_do_normalize: bool = False, mask_do_binarize: bool = True, mask_do_convert_grayscale: bool = True)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/image_processor.py#L837)

Обработчик изображений для инпейнтинга изображения и маски.

#### postprocess[[diffusers.InpaintProcessor.postprocess]]

```python
postprocess(image: Tensor, output_type: str = 'pil', original_image: PIL.Image.Image | None = None, original_mask: PIL.Image.Image | None = None, crops_coords: tuple[int, int, int, int] | None = None)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/image_processor.py#L944)

Постобработка изображения, при необходимости наложение маски

#### preprocess[[diffusers.InpaintProcessor.preprocess]]

```python
preprocess(image: Image, mask: PIL.Image.Image | None = None, height: int | None = None, width: int | None = None, padding_mask_crop: int | None = None)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/image_processor.py#L882)

Предобработка изображения и маски.

## VaeImageProcessorLDM3D[[diffusers.VaeImageProcessorLDM3D]]

Класс [VaeImageProcessorLDM3D](/docs/diffusers/v0.43.0/ru/api/image_processor#diffusers.VaeImageProcessorLDM3D) принимает на вход RGB-изображения и карты глубины и возвращает RGB-изображения и карты глубины.

#### diffusers.VaeImageProcessorLDM3D[[diffusers.VaeImageProcessorLDM3D]]

```python
diffusers.VaeImageProcessorLDM3D(do_resize: bool = True, vae_scale_factor: int = 8, resample: str = 'lanczos', do_normalize: bool = True)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/image_processor.py#L974)

**Параметры:**

do_resize (`bool`, *необязательный*, по умолчанию `True`) : Указывает, следует ли масштабировать размеры изображения (высота, ширина) до кратных `vae_scale_factor`.

vae_scale_factor (`int`, *optional*, по умолчанию `8`) : масштабный коэффициент VAE. Если `do_resize` равно `True`, изображение автоматически масштабируется до кратных этого коэффициента.

resample (`str`, *необязательный*, по умолчанию `lanczos`) : Фильтр ресемплинга, используемый при изменении размера изображения.

do_normalize (`bool`, *необязательный*, по умолчанию `True`) : Нужно ли нормализовать изображение в диапазон [-1,1].

Обработчик изображений для VAE LDM3D.

#### depth_pil_to_numpy[[diffusers.VaeImageProcessorLDM3D.depth_pil_to_numpy]]

```python
depth_pil_to_numpy(images: list[PIL.Image.Image] | PIL.Image.Image)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/image_processor.py#L1025)

**Параметры:**

images (`list[PIL.Image.Image, PIL.Image.Image]`) : входное изображение или список изображений для преобразования.

**Возвращает:** `np.ndarray`

Массив NumPy с преобразованными изображениями.

Преобразовать изображение PIL или список изображений PIL в массивы NumPy.

#### numpy_to_depth[[diffusers.VaeImageProcessorLDM3D.numpy_to_depth]]

```python
numpy_to_depth(images: ndarray)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/image_processor.py#L1083)

**Параметры:**

images (`np.ndarray`) : Входной массив NumPy с изображениями глубины, который может быть одним изображением или батчем.

**Возвращает:** `list[PIL.Image.Image]`

Список изображений PIL, преобразованных из входных изображений глубины NumPy.

Преобразовать изображение глубины NumPy или пакет изображений в список изображений PIL.

#### numpy_to_pil[[diffusers.VaeImageProcessorLDM3D.numpy_to_pil]]

```python
numpy_to_pil(images: ndarray)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/image_processor.py#L1001)

**Параметры:**

images (`np.ndarray`) : Входной массив NumPy с изображениями, который может содержать одно изображение или пакет.

**Возвращает:** `list[PIL.Image.Image]`

Список изображений PIL, преобразованных из входного массива NumPy.

Преобразовать изображение NumPy или пакет изображений в список изображений PIL.

#### preprocess[[diffusers.VaeImageProcessorLDM3D.preprocess]]

```python
preprocess(rgb: typing.Union[torch.Tensor, PIL.Image.Image, numpy.ndarray], depth: typing.Union[torch.Tensor, PIL.Image.Image, numpy.ndarray], height: int | None = None, width: int | None = None, target_res: int | None = None)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/image_processor.py#L1161)

**Параметры:**

rgb (`torch.Tensor | PIL.Image.Image | np.ndarray`) : входное изображение в формате RGB, которое может быть одиночным изображением или батчем.

depth (`torch.Tensor | PIL.Image.Image | np.ndarray`) : входное изображение глубины, которое может быть одиночным изображением или батчем.

height (`int | None`, *необязательный*, по умолчанию `None`) : Желаемая высота обработанного изображения. Если `None`, по умолчанию используется высота входного изображения.

width (`int | None`, *необязательный*, по умолчанию `None`) : Желаемая ширина обработанного изображения. Если `None`, по умолчанию используется ширина входного изображения.

target_res (`int | None`, *необязательный*, по умолчанию `None`) : Целевое разрешение для изменения размера изображений. Если указано, переопределяет height и width.

**Возвращает:** `tuple[torch.Tensor, torch.Tensor]`

Кортеж, содержащий обработанные RGB- и глубинные изображения в виде тензоров PyTorch.

Предобработка входных изображений. Поддерживаемые форматы: изображения PIL, массивы NumPy или тензоры PyTorch.

#### rgblike_to_depthmap[[diffusers.VaeImageProcessorLDM3D.rgblike_to_depthmap]]

```python
rgblike_to_depthmap(image: typing.Union[numpy.ndarray, torch.Tensor])
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/image_processor.py#L1045)

Преобразование изображения глубины в формате RGB в карту глубины.

## PixArtImageProcessor[[diffusers.PixArtImageProcessor]]

#### diffusers.PixArtImageProcessor[[diffusers.PixArtImageProcessor]]

```python
diffusers.PixArtImageProcessor(do_resize: bool = True, vae_scale_factor: int = 8, resample: str = 'lanczos', do_normalize: bool = True, do_binarize: bool = False, do_convert_grayscale: bool = False)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/image_processor.py#L1381)

**Параметры:**

do_resize (`bool`, *необязательный*, по умолчанию `True`) : Указывает, следует ли масштабировать размеры изображения (высота, ширина) до кратных `vae_scale_factor`. Может принимать аргументы `height` и `width` из метода [image_processor.VaeImageProcessor.preprocess()](/docs/diffusers/v0.43.0/ru/api/image_processor#diffusers.VaeImageProcessor.preprocess).

vae_scale_factor (`int`, *optional*, по умолчанию `8`) : масштабный коэффициент VAE. Если `do_resize` равно `True`, изображение автоматически масштабируется до кратных этого коэффициента.

resample (`str`, *необязательный*, по умолчанию `lanczos`) : Фильтр ресемплинга, используемый при изменении размера изображения.

do_normalize (`bool`, *необязательный*, по умолчанию `True`) : Нужно ли нормализовать изображение в диапазон [-1,1].

do_binarize (`bool`, *необязательный*, по умолчанию `False`) : Бинаризовать ли изображение в 0/1.

do_convert_rgb (`bool`, *необязательный*, по умолчанию `False`) : Преобразовать ли изображения в формат RGB.

do_convert_grayscale (`bool`, *необязательный*, по умолчанию `False`) : Преобразовать ли изображения в формат оттенков серого.

Обработчик изображений для изменения размера и обрезки изображений PixArt.

#### classify_height_width_bin[[diffusers.PixArtImageProcessor.classify_height_width_bin]]

```python
classify_height_width_bin(height: int, width: int, ratios: dict)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/image_processor.py#L1422)

**Параметры:**

height (`int`) : Высота изображения.

width (`int`) : Ширина изображения.

ratios (`dict`) : Словарь, где ключи — это соотношения сторон, а значения — кортежи (height, width).

**Возвращает:** `tuple[int, int]`

Ближайшие бинные значения высоты и ширины.

Возвращает бинированные высоту и ширину на основе соотношения сторон.

#### resize_and_crop_tensor[[diffusers.PixArtImageProcessor.resize_and_crop_tensor]]

```python
resize_and_crop_tensor(samples: Tensor, new_width: int, new_height: int)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/image_processor.py#L1440)

**Параметры:**

samples (`torch.Tensor`) : тензор формы (N, C, H, W), где N — размер батча, C — количество каналов, H — высота, а W — ширина.

new_width (`int`) : Желаемая ширина выходных изображений.

new_height (`int`) : Желаемая высота выходных изображений.

**Возвращает:** `torch.Tensor`

Тензор, содержащий изображения после изменения размера и обрезки.

Изменяет размер и обрезает тензор изображений до указанных размеров.

## IPAdapterMaskProcessor[[diffusers.IPAdapterMaskProcessor]]

#### diffusers.IPAdapterMaskProcessor[[diffusers.IPAdapterMaskProcessor]]

```python
diffusers.IPAdapterMaskProcessor(do_resize: bool = True, vae_scale_factor: int = 8, resample: str = 'lanczos', do_normalize: bool = False, do_binarize: bool = True, do_convert_grayscale: bool = True)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/image_processor.py#L1277)

**Параметры:**

do_resize (`bool`, *необязательный*, по умолчанию `True`) : Указывает, следует ли масштабировать размеры изображения (высота, ширина) до кратных `vae_scale_factor`.

vae_scale_factor (`int`, *optional*, по умолчанию `8`) : масштабный коэффициент VAE. Если `do_resize` равно `True`, изображение автоматически масштабируется до кратных этого коэффициента.

resample (`str`, *необязательный*, по умолчанию `lanczos`) : Фильтр ресемплинга, используемый при изменении размера изображения.

do_normalize (`bool`, *необязательный*, по умолчанию `False`) : Нужно ли нормализовать изображение в диапазон [-1,1].

do_binarize (`bool`, *необязательный*, по умолчанию `True`) : Бинаризовать ли изображение в 0/1.

do_convert_grayscale (`bool`, *необязательный*, по умолчанию `True`) : Преобразовать ли изображения в формат оттенков серого.

Обработчик изображений для масок изображений IP Adapter.

#### downsample[[diffusers.IPAdapterMaskProcessor.downsample]]

```python
downsample(mask: Tensor, batch_size: int, num_queries: int, value_embed_dim: int)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/image_processor.py#L1318)

**Параметры:**

mask (`torch.Tensor`) : входной тензор маски, созданный с помощью `IPAdapterMaskProcessor.preprocess()`.

batch_size (`int`) : Размер батча.

num_queries (`int`) : Количество запросов.

value_embed_dim (`int`) : размерность векторов значений.

**Возвращает:** `torch.Tensor`

Тензор маски после уменьшения разрешения.

Уменьшает размер предоставленного тензора маски до ожидаемых размерностей для масштабированного внимания на основе скалярного произведения. Если соотношение сторон маски не совпадает с соотношением сторон выходного изображения, выводится предупреждение.

