Files
AIM-PIbd-31-Yaruskin-S-A/lab_11/laba11.ipynb
2025-05-24 03:40:43 +04:00

4.8 MiB
Raw Blame History

Лаб 11. Глубокое обучение

In [1]:
import os
import cv2
import numpy as np
import matplotlib.pyplot as plt
import mahotas as mh
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.metrics import classification_report, confusion_matrix
from tensorflow.keras.preprocessing.image import ImageDataGenerator
from skimage import color, exposure, feature, filters, measure, morphology
from sklearn.cluster import KMeans
from skimage.feature import canny
from sklearn.ensemble import RandomForestClassifier

# Функция для загрузки изображений с OpenCV
def load_images_Xray(root_folder, target_size=(512, 512), allowed_extensions=("jpg", "jpeg", "png", "bmp", "gif")):
    images = []
    filepaths = []
    
    if not os.path.exists(root_folder):
        raise FileNotFoundError(f"Папка {root_folder} не найдена.")
    
    print(f"Начинаем поиск изображений в: {root_folder}")
    
    for root, _, files in os.walk(root_folder):
        for filename in sorted(files):
            if filename.lower().endswith(allowed_extensions):
                filepath = os.path.join(root, filename)
                
                try:
                    # Загружаем изображение с OpenCV
                    image = cv2.imread(filepath)
                    if image is None:
                        print(f"Ошибка загрузки: {filepath}")
                        continue

                    # Изменение размера с сохранением пропорций
                    h, w = image.shape[:2]
                    if h != target_size[0] or w != target_size[1]:
                        image = cv2.resize(image, target_size, interpolation=cv2.INTER_AREA)
                    
                    # Добавляем изображение в список
                    images.append(image)
                    filepaths.append(filepath)
                except Exception as e:
                    print(f"Ошибка при обработке {filepath}: {str(e)}")
    
    return images, filepaths

def display_images(images, filepaths, max_images=20):
    # Отображает изображения в виде сетки
    if not images:
        print("Нет изображений для отображения.")
        return
    
    count = min(max_images, len(images))
    cols = 5
    rows = 2
    
    plt.figure(figsize=(15, 3 * rows))
    for i in range(count):
        plt.subplot(rows, cols, i + 1)
        plt.imshow(cv2.cvtColor(images[i], cv2.COLOR_BGR2RGB))
        plt.title(os.path.basename(filepaths[i]))
        plt.axis('off')
    
    plt.tight_layout()
    plt.show()

# Указываем путь к папке с изображениями
folder_path = "../static/photosForLab11"
    
try:
    images, filepaths = load_images_Xray(folder_path)
    print(f"Загружено {len(images)} изображений.")
        
    display_images(images, filepaths)
        
    # Дополнительная информация
    if images:
        sample = images[0]
        print(f"\nИнформация о первом изображении:")
        print(f"Размер: {sample.shape[1]}x{sample.shape[0]}")
        print(f"Каналы: {sample.shape[2] if len(sample.shape) > 2 else 1}")
        print(f"Тип данных: {sample.dtype}")
        print(f"Диапазон значений: {np.min(sample)}-{np.max(sample)}")
except Exception as e:
    print(f"Произошла ошибка: {str(e)}")
Начинаем поиск изображений в: ../static/photosForLab11
Загружено 280 изображений.
Произошла ошибка: num must be an integer with 1 <= num <= 10, not 11
No description has been provided for this image

Пора предобобрадабывать изображения

Обработка изображения будет заключаться в изменение размера, цвета в серый, отключение зелёного канала, нормализация изображения, сепия. Затем применим Гауссовское размытие, гистограмму, Canny, фильтрация с использованием метода Отсу, бинаризация, сегментация изображения, выделение объектов по маске.

In [2]:
from skimage import color, exposure, feature, filters, measure, morphology
from sklearn.cluster import KMeans
from skimage.feature import canny
import numpy as np
import matplotlib.pyplot as plt
import cv2

# Функция для предварительной обработки изображений
def preprocess_images(images, target_size=(256, 256)):
    preprocessed_images = []
    resized_images = []
    no_green_images = []
    sepia_images = []
    smoothed_images = []
    normalized_images = []
    hist_images = []
    binary_images = []
    segmented_kmeans_images = []
    masked_objects_images = []
    gauss_images = []

    for image in images:
        # Изменяем размер изображения
        resized_image = cv2.resize(image, target_size, interpolation=cv2.INTER_AREA)
        resized_images.append(resized_image)

        # Преобразуем из BGR в RGB, если используем OpenCV (так как OpenCV использует BGR)
        if resized_image.shape[-1] == 3:
            image = cv2.cvtColor(resized_image, cv2.COLOR_BGR2RGB)
        else:
            image = resized_image  # Если уже в градациях серого

        # Переводим изображение в градации серого (нормализуем перед конвертацией)
        gray_image = color.rgb2gray(resized_image.astype(np.float32) / 255.0) 

        # Нормализуем изображение (переводим в градации серого и нормализуем значения)
        normalized_images.append(gray_image)

        # Применяем сепию
        sepia_image = mh.colors.rgb2sepia(resized_image)
        sepia_images.append(sepia_image)

        # Убираем зеленый канал
        if len(sepia_image.shape) == 3:
            r, g, b = sepia_image[:, :, 0], sepia_image[:, :, 1], sepia_image[:, :, 2]
            no_green_image = np.stack([r, np.zeros_like(g), b], axis=-1)
        else:
            no_green_image = sepia_image
        no_green_images.append(no_green_image)

        # Гистограммная эквализация для улучшения контраста
        hist_equalized = exposure.equalize_hist(no_green_image)
        hist_images.append(hist_equalized)

        gauss_image = cv2.GaussianBlur(resized_image, (5, 5), 0)
        gauss_images.append(gauss_image)
        
        # Гауссово размытие для уменьшения шума
        smoothed_image = mh.gaussian_filter(hist_equalized, 3)
        smoothed_images.append(smoothed_image) 

        # Убедимся, что смазанное изображение 2D перед передачей в Canny
        if smoothed_image.ndim == 3:
            smoothed_image = smoothed_image[:, :, 0] 

        # Обнаруживаем края с помощью Canny перед пороговой фильтрацией
        edges = canny(smoothed_image, sigma=1)
        
        # Добавляем к списку результатов
        preprocessed_images.append(edges)

        # Пороговая фильтрация с использованием метода Отсу
        threshold = filters.threshold_otsu(smoothed_image)
        binary_image = smoothed_image > threshold
        binary_images.append(binary_image)
        
        # K-Means сегментация (2 кластера)
        img_for_kmeans = smoothed_image 
        pixels = img_for_kmeans.reshape(-1, 1)
        kmeans = KMeans(n_clusters=2, random_state=42).fit(pixels)
        segmented_kmeans = kmeans.labels_.reshape(img_for_kmeans.shape)
        segmented_kmeans_images.append(segmented_kmeans)

        # Выделение объектов по маске
        mask = binary_image.copy()
        mask = morphology.remove_small_objects(mask, min_size=50)
        mask = morphology.remove_small_holes(mask, area_threshold=50)
        labeled = measure.label(mask)
        masked_objects = color.label2rgb(labeled, image=gray_image, bg_label=0)
        masked_objects_images.append(masked_objects)        

    return (np.array(preprocessed_images), np.array(gauss_images), np.array(sepia_images), np.array(normalized_images), 
            np.array(smoothed_images), np.array(binary_images), np.array(segmented_kmeans_images), np.array(masked_objects_images))
In [3]:
# Получаем предварительно обработанные изображения
(processed_images, gauss_images, sepia_images,  normalized_images, smoothed_images, 
 binary_images, segmented_kmeans_images, masked_objects_images) = preprocess_images(images)

# Выберите индекс изображения для демонстрации
index = 35

# Визуализация всех этапов обработки
fig, axes = plt.subplots(2, 5, figsize=(20, 10))

# Оригинальное изображение
axes[0, 0].imshow(images[index])
axes[0, 0].set_title('Оригинал')
axes[0, 0].axis('off')

# Изменённый размер
resized_img = cv2.resize(images[index], (128, 128))
axes[0, 1].imshow(resized_img)
axes[0, 1].set_title('Изменённый размер')
axes[0, 1].axis('off')

# Без зелёного канала
r, g, b = images[index][:, :, 0], images[index][:, :, 1], images[index][:, :, 2]
no_green = np.stack([r, np.zeros_like(g), b], axis=-1).astype(np.uint8)
axes[0, 2].imshow(no_green)
axes[0, 2].set_title('Без зелёного канала')
axes[0, 2].axis('off')

# Сепия
axes[0, 3].imshow(sepia_images[index])
axes[0, 3].set_title('Сепия')
axes[0, 3].axis('off')

# Нормализованное изображение (градации серого)
axes[0, 4].imshow(normalized_images[index], cmap='gray')
axes[0, 4].set_title('Нормализованное (grayscale)')
axes[0, 4].axis('off')

# Гауссовская фильтрация
axes[1, 0].imshow(gauss_images[index])
axes[1, 0].set_title('Гауссовская фильтрация')
axes[1, 0].axis('off')

# Смазанное изображение (гауссов фильтр)
axes[1, 1].imshow(smoothed_images[index], cmap='gray')
axes[1, 1].set_title('Сглаженное (Gaussian blur)')
axes[1, 1].axis('off')

# Контуры после Canny
axes[1, 2].imshow(processed_images[index], cmap='gray')
axes[1, 2].set_title('Контуры (Canny)')
axes[1, 2].axis('off')

# K-Means сегментация (если сохранялась как бинарная маска)
axes[1, 3].imshow(segmented_kmeans_images[index], cmap='gray')
axes[1, 3].set_title('Сегментация (K-Means)')
axes[1, 3].axis('off')

# Маскированные объекты (например, цветные объекты на чёрном фоне)
axes[1, 4].imshow(masked_objects_images[index])
axes[1, 4].set_title('Маскированные объекты (KMeans + Morph)')
axes[1, 4].axis('off')

plt.tight_layout()
plt.show()

# Обработка бинарного изображения (визуализация отдельно)
if isinstance(binary_images, list):
    binary_images = np.array(binary_images)

plt.figure(figsize=(5, 5))

if binary_images.ndim == 3:  # Пакет изображений
    plt.imshow(binary_images[index], cmap='gray')
elif binary_images.ndim == 2:  # Одно изображение
    plt.imshow(binary_images, cmap='gray')
else:
    print("Ошибка: binary_images имеет неправильную форму:", binary_images.shape)

plt.title('Бинарное изображение после пороговой фильтрации')
plt.axis('off')
plt.show()
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
No description has been provided for this image
No description has been provided for this image

Используем TensorFlow для глубоко обучения

In [4]:
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder
from tensorflow.keras.utils import to_categorical
import tensorflow as tf
import matplotlib.pyplot as plt
from matplotlib.image import imread
import os
from pathlib import Path
import numpy as np
import pandas as pd
import cv2

# Пути к директориям
train_dir = "../static/photosForLab11/train"
val_dir = "../static/photosForLab11/test"
PIC_SIZE = 256
BATCH_SIZE = 8

# === Загружаем вручную ===
def load_and_label_images_from_directory(directory, target_size=(256, 256)):
    images = []
    labels = []
    class_names = sorted(os.listdir(directory))

    for class_name in class_names:
        class_path = os.path.join(directory, class_name)
        if not os.path.isdir(class_path):
            continue
        for file in sorted(os.listdir(class_path)):
            if file.lower().endswith((".jpg", ".png", ".jpeg", ".bmp")):
                file_path = os.path.join(class_path, file)
                img = cv2.imread(file_path)
                if img is None:
                    continue
                if img.shape[:2] != target_size:
                    img = cv2.resize(img, target_size)
                images.append(img)
                labels.append(class_name)

    return images, labels

# === Загружаем и предобрабатываем ===
train_images_raw, train_labels_raw = load_and_label_images_from_directory(train_dir, (PIC_SIZE, PIC_SIZE))
val_images_raw, val_labels_raw = load_and_label_images_from_directory(val_dir, (PIC_SIZE, PIC_SIZE))

_, gauss_train, *_= preprocess_images(train_images_raw, target_size=(PIC_SIZE, PIC_SIZE))
_, gauss_val, *_ = preprocess_images(val_images_raw, target_size=(PIC_SIZE, PIC_SIZE))

# Нормализуем изображения
train_images_tensor = gauss_train.astype(np.float32) / 255.0
val_images_tensor = gauss_val.astype(np.float32) / 255.0

# Кодируем метки
label_encoder = LabelEncoder()
train_labels_encoded = to_categorical(label_encoder.fit_transform(train_labels_raw))
val_labels_encoded = to_categorical(label_encoder.transform(val_labels_raw))

# Преобразуем изображения и метки в tf.data.Dataset
def convert_to_grayscale(image, label):
    image = tf.image.rgb_to_grayscale(image)
    return image, label

# Используем from_tensor_slices для передачи признаков и закодированных меток (целевой функции)
train_ds = tf.data.Dataset.from_tensor_slices((train_images_tensor, train_labels_encoded))
val_ds = tf.data.Dataset.from_tensor_slices((val_images_tensor, val_labels_encoded))

# Преобразуем изображения в оттенки серого
train_ds = train_ds.map(convert_to_grayscale)
val_ds = val_ds.map(convert_to_grayscale)

# Перемешиваем и объединяем в батчи
train_ds = train_ds.shuffle(1000).batch(BATCH_SIZE).prefetch(tf.data.AUTOTUNE)
val_ds = val_ds.batch(BATCH_SIZE).prefetch(tf.data.AUTOTUNE)

print("Train dataset and validation dataset successfully prepared.")

print("Train shape:", train_images_tensor.shape)
print("Validation shape:", val_images_tensor.shape)
print("Классы:", label_encoder.classes_)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\skimage\_shared\utils.py:445: UserWarning: This might be a color image. The histogram will be computed on the flattened image. You can instead apply this function to each color channel, or set channel_axis.
  return func(*args, **kwargs)
Train dataset and validation dataset successfully prepared.
Train shape: (200, 256, 256, 3)
Validation shape: (80, 256, 256, 3)
Классы: ['cat' 'lion']

Теперь настроим гиперпараметры модели

In [5]:
model_simple = tf.keras.Sequential([
    tf.keras.layers.Conv2D(32, (3,3), activation='relu', input_shape=(PIC_SIZE, PIC_SIZE, 1), padding='same', kernel_initializer="he_normal"),
    tf.keras.layers.MaxPooling2D(pool_size=(2,2), strides=3, padding='same'),
    
    tf.keras.layers.Conv2D(64, (3,3), activation='relu', padding='same', kernel_initializer="he_normal"),
    tf.keras.layers.MaxPooling2D(pool_size=(2,2), strides=3, padding='same'),

    tf.keras.layers.Conv2D(128, (3,3), activation='relu', padding='same', kernel_initializer="he_normal"),
    tf.keras.layers.MaxPooling2D(pool_size=(2,2), strides=3, padding='same'),
    
    tf.keras.layers.GlobalAveragePooling2D(),

    tf.keras.layers.Flatten(),
    tf.keras.layers.Dense(64, activation='relu', kernel_initializer="he_normal"),
    tf.keras.layers.Dropout(0.3),
    
    tf.keras.layers.Dense(len(label_encoder.classes_), activation='softmax')
])
d:\PythonPr\AIM-PIbd-31-Yaruskin-S-A\.venv\Lib\site-packages\keras\src\layers\convolutional\base_conv.py:113: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.
  super().__init__(activity_regularizer=activity_regularizer, **kwargs)

Обучение и компиляция модели

In [6]:
model_simple.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])

# Теперь можно обучать модель
model_simple.fit(train_ds, validation_data=val_ds, epochs=50)
Epoch 1/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 6s 156ms/step - accuracy: 0.5459 - loss: 0.7741 - val_accuracy: 0.5000 - val_loss: 0.7048
Epoch 2/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 150ms/step - accuracy: 0.4974 - loss: 0.6898 - val_accuracy: 0.5000 - val_loss: 0.6941
Epoch 3/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 144ms/step - accuracy: 0.5516 - loss: 0.6801 - val_accuracy: 0.5000 - val_loss: 0.6786
Epoch 4/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 146ms/step - accuracy: 0.5204 - loss: 0.6721 - val_accuracy: 0.5000 - val_loss: 0.6547
Epoch 5/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 150ms/step - accuracy: 0.5751 - loss: 0.6438 - val_accuracy: 0.5000 - val_loss: 0.6436
Epoch 6/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 148ms/step - accuracy: 0.5474 - loss: 0.6575 - val_accuracy: 0.5000 - val_loss: 0.7778
Epoch 7/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 148ms/step - accuracy: 0.6237 - loss: 0.7128 - val_accuracy: 0.5000 - val_loss: 0.6313
Epoch 8/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 150ms/step - accuracy: 0.6186 - loss: 0.6027 - val_accuracy: 0.8250 - val_loss: 0.5295
Epoch 9/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 159ms/step - accuracy: 0.7656 - loss: 0.5302 - val_accuracy: 0.5625 - val_loss: 0.6212
Epoch 10/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 175ms/step - accuracy: 0.7887 - loss: 0.5179 - val_accuracy: 0.8625 - val_loss: 0.3954
Epoch 11/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 163ms/step - accuracy: 0.8110 - loss: 0.4476 - val_accuracy: 0.8875 - val_loss: 0.4038
Epoch 12/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 148ms/step - accuracy: 0.8774 - loss: 0.3797 - val_accuracy: 0.8750 - val_loss: 0.3896
Epoch 13/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 151ms/step - accuracy: 0.8646 - loss: 0.3647 - val_accuracy: 0.8250 - val_loss: 0.4504
Epoch 14/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 145ms/step - accuracy: 0.8351 - loss: 0.3448 - val_accuracy: 0.8875 - val_loss: 0.3752
Epoch 15/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 143ms/step - accuracy: 0.8574 - loss: 0.3430 - val_accuracy: 0.8125 - val_loss: 0.4937
Epoch 16/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 143ms/step - accuracy: 0.8631 - loss: 0.3024 - val_accuracy: 0.9000 - val_loss: 0.3206
Epoch 17/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 140ms/step - accuracy: 0.9108 - loss: 0.2926 - val_accuracy: 0.8500 - val_loss: 0.3258
Epoch 18/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 143ms/step - accuracy: 0.8222 - loss: 0.3860 - val_accuracy: 0.8375 - val_loss: 0.3668
Epoch 19/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 144ms/step - accuracy: 0.8281 - loss: 0.3843 - val_accuracy: 0.7625 - val_loss: 0.5897
Epoch 20/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 149ms/step - accuracy: 0.8449 - loss: 0.3426 - val_accuracy: 0.8750 - val_loss: 0.3316
Epoch 21/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 3s 139ms/step - accuracy: 0.8872 - loss: 0.2906 - val_accuracy: 0.9125 - val_loss: 0.3412
Epoch 22/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 156ms/step - accuracy: 0.8379 - loss: 0.3324 - val_accuracy: 0.8875 - val_loss: 0.3986
Epoch 23/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 149ms/step - accuracy: 0.9212 - loss: 0.2311 - val_accuracy: 0.9125 - val_loss: 0.2734
Epoch 24/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 148ms/step - accuracy: 0.9126 - loss: 0.2478 - val_accuracy: 0.9125 - val_loss: 0.2308
Epoch 25/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 146ms/step - accuracy: 0.9308 - loss: 0.2408 - val_accuracy: 0.6875 - val_loss: 0.8964
Epoch 26/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 143ms/step - accuracy: 0.7951 - loss: 0.4732 - val_accuracy: 0.7750 - val_loss: 0.5958
Epoch 27/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 149ms/step - accuracy: 0.8830 - loss: 0.2544 - val_accuracy: 0.9000 - val_loss: 0.3116
Epoch 28/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 150ms/step - accuracy: 0.9084 - loss: 0.2846 - val_accuracy: 0.9125 - val_loss: 0.2338
Epoch 29/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 154ms/step - accuracy: 0.8977 - loss: 0.2846 - val_accuracy: 0.9375 - val_loss: 0.2936
Epoch 30/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 150ms/step - accuracy: 0.9296 - loss: 0.2368 - val_accuracy: 0.9000 - val_loss: 0.3428
Epoch 31/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 151ms/step - accuracy: 0.8844 - loss: 0.2524 - val_accuracy: 0.8125 - val_loss: 0.5664
Epoch 32/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 160ms/step - accuracy: 0.8528 - loss: 0.3075 - val_accuracy: 0.7500 - val_loss: 0.7291
Epoch 33/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 169ms/step - accuracy: 0.9076 - loss: 0.2459 - val_accuracy: 0.8375 - val_loss: 0.5018
Epoch 34/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 153ms/step - accuracy: 0.8873 - loss: 0.3079 - val_accuracy: 0.8375 - val_loss: 0.4807
Epoch 35/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 143ms/step - accuracy: 0.9305 - loss: 0.2338 - val_accuracy: 0.8500 - val_loss: 0.4555
Epoch 36/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 145ms/step - accuracy: 0.8578 - loss: 0.2934 - val_accuracy: 0.9000 - val_loss: 0.3541
Epoch 37/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 148ms/step - accuracy: 0.9048 - loss: 0.2671 - val_accuracy: 0.8750 - val_loss: 0.4269
Epoch 38/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 144ms/step - accuracy: 0.9305 - loss: 0.2090 - val_accuracy: 0.9125 - val_loss: 0.2956
Epoch 39/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 144ms/step - accuracy: 0.9207 - loss: 0.1927 - val_accuracy: 0.9250 - val_loss: 0.2426
Epoch 40/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 143ms/step - accuracy: 0.8887 - loss: 0.2628 - val_accuracy: 0.9250 - val_loss: 0.3353
Epoch 41/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 144ms/step - accuracy: 0.9373 - loss: 0.2244 - val_accuracy: 0.9000 - val_loss: 0.3538
Epoch 42/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 146ms/step - accuracy: 0.9165 - loss: 0.2557 - val_accuracy: 0.9000 - val_loss: 0.4350
Epoch 43/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 158ms/step - accuracy: 0.9458 - loss: 0.1900 - val_accuracy: 0.8375 - val_loss: 0.5921
Epoch 44/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 155ms/step - accuracy: 0.8837 - loss: 0.3389 - val_accuracy: 0.9000 - val_loss: 0.3518
Epoch 45/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 150ms/step - accuracy: 0.9131 - loss: 0.2294 - val_accuracy: 0.9125 - val_loss: 0.1959
Epoch 46/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 150ms/step - accuracy: 0.8704 - loss: 0.2815 - val_accuracy: 0.9125 - val_loss: 0.2527
Epoch 47/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 160ms/step - accuracy: 0.9094 - loss: 0.2652 - val_accuracy: 0.9000 - val_loss: 0.3280
Epoch 48/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 172ms/step - accuracy: 0.9243 - loss: 0.1935 - val_accuracy: 0.9125 - val_loss: 0.2643
Epoch 49/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 164ms/step - accuracy: 0.9240 - loss: 0.2147 - val_accuracy: 0.9500 - val_loss: 0.1762
Epoch 50/50
25/25 ━━━━━━━━━━━━━━━━━━━━ 4s 152ms/step - accuracy: 0.9356 - loss: 0.2067 - val_accuracy: 0.9625 - val_loss: 0.1999
Out[6]:
<keras.src.callbacks.history.History at 0x25254f679d0>
In [7]:
model_simple.summary()
Model: "sequential"
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Layer (type)                     Output Shape                  Param # ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ conv2d (Conv2D)                 │ (None, 256, 256, 32)   │           320 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ max_pooling2d (MaxPooling2D)    │ (None, 86, 86, 32)     │             0 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ conv2d_1 (Conv2D)               │ (None, 86, 86, 64)     │        18,496 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ max_pooling2d_1 (MaxPooling2D)  │ (None, 29, 29, 64)     │             0 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ conv2d_2 (Conv2D)               │ (None, 29, 29, 128)    │        73,856 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ max_pooling2d_2 (MaxPooling2D)  │ (None, 10, 10, 128)    │             0 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ global_average_pooling2d        │ (None, 128)            │             0 │
│ (GlobalAveragePooling2D)        │                        │               │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ flatten (Flatten)               │ (None, 128)            │             0 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ dense (Dense)                   │ (None, 64)             │         8,256 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ dropout (Dropout)               │ (None, 64)             │             0 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ dense_1 (Dense)                 │ (None, 2)              │           130 │
└─────────────────────────────────┴────────────────────────┴───────────────┘
 Total params: 303,176 (1.16 MB)
 Trainable params: 101,058 (394.76 KB)
 Non-trainable params: 0 (0.00 B)
 Optimizer params: 202,118 (789.53 KB)
In [8]:
import numpy as np
import matplotlib.pyplot as plt

# 1. Предсказания для всего валидационного датасета
y_pred = model_simple.predict(val_ds)

# 2. Собираем все изображения из датасета в один массив
all_images = []
all_labels = []  # если нужно оригинальные метки
for batch_images, batch_labels in val_ds:
    # batch_images: (batch_size, H, W, C)
    # batch_labels: one-hot, (batch_size, num_classes)
    all_images.append(batch_images.numpy())
    all_labels.append(batch_labels.numpy())
all_images = np.vstack(all_images)        # shape (N, H, W, C)
all_labels = np.vstack(all_labels)        # shape (N, num_classes)

# 3. Случайно выбираем 40 уникальных индексов
N = all_images.shape[0]
idxs = np.random.choice(N, size=20, replace=False)

# 4. Визуализируем эти 40 и выводим предсказания
plt.figure(figsize=(32, 40))
for i, idx in enumerate(idxs):
    img = all_images[idx].squeeze()
    prob_lion = y_pred[idx][1]
    label = f"{prob_lion*100:.2f}% LION" if prob_lion > 0.5 else f"{(1-prob_lion)*100:.2f}% CAT"
    
    plt.subplot(10, 4, i+1)
    if img.ndim == 2:
        plt.imshow(img, cmap='gray')
    else:
        plt.imshow(img)
    plt.title(label, fontsize=16)
    plt.axis('off')

plt.tight_layout()
plt.show()
10/10 ━━━━━━━━━━━━━━━━━━━━ 0s 32ms/step
No description has been provided for this image
In [9]:
# Оценка модели на обучающем наборе
train_loss, train_acc = model_simple.evaluate(train_ds)
print(f"Train Loss: {train_loss}, Train Accuracy: {train_acc}")

# Оценка модели на валидационном наборе
val_loss, val_acc = model_simple.evaluate(val_ds)
print(f"Validation Loss: {val_loss}, Validation Accuracy: {val_acc}")
25/25 ━━━━━━━━━━━━━━━━━━━━ 1s 31ms/step - accuracy: 0.9542 - loss: 0.1547
Train Loss: 0.16329258680343628, Train Accuracy: 0.9449999928474426
10/10 ━━━━━━━━━━━━━━━━━━━━ 0s 34ms/step - accuracy: 0.9919 - loss: 0.0854
Validation Loss: 0.19987231492996216, Validation Accuracy: 0.9624999761581421
In [10]:
deep_model = tf.keras.Sequential([
    tf.keras.layers.Conv2D(32, (3,3), activation='relu', input_shape=(PIC_SIZE, PIC_SIZE, 1), kernel_regularizer = tf.keras.regularizers.l2(0.00001), kernel_initializer = "he_normal", strides=1, padding='same'),
    tf.keras.layers.MaxPooling2D(pool_size=(2,2), strides=2, padding="same"),
    tf.keras.layers.BatchNormalization(),

    tf.keras.layers.Conv2D(64, (3,3), activation='relu', kernel_initializer = "he_normal", padding='same'),
    tf.keras.layers.MaxPooling2D(pool_size=(2,2), strides=2, padding='same'),
    tf.keras.layers.BatchNormalization(),

    tf.keras.layers.Conv2D(128, (3,3), activation='relu', padding='same', kernel_initializer="he_normal"),
    tf.keras.layers.MaxPooling2D(pool_size=(2,2), strides=2, padding='same'),
    tf.keras.layers.BatchNormalization(),

    tf.keras.layers.Conv2D(256, (3,3), activation='relu', padding='same', kernel_initializer="he_normal"),
    tf.keras.layers.MaxPooling2D(pool_size=(2,2), strides=2, padding='same'),
    tf.keras.layers.BatchNormalization(),

    tf.keras.layers.GlobalAveragePooling2D(),

    tf.keras.layers.Flatten(),
    tf.keras.layers.Dense(256, activation='relu'),
    tf.keras.layers.Dropout(0.5),

    tf.keras.layers.Dense(128, activation='relu'),
    tf.keras.layers.Dropout(0.3),

    tf.keras.layers.Dense(len(label_encoder.classes_), activation='softmax')
])
In [11]:
deep_model.compile(
    optimizer=tf.keras.optimizers.Nadam(learning_rate=0.001),
    loss=tf.keras.losses.CategoricalCrossentropy(),
    metrics=['acc']
)

history = deep_model.fit(
    train_ds,   
    epochs=20, 
    validation_data=val_ds)

print("Модель натренировалась")
Epoch 1/20
25/25 ━━━━━━━━━━━━━━━━━━━━ 18s 523ms/step - acc: 0.6802 - loss: 0.5353 - val_acc: 0.5250 - val_loss: 0.7765
Epoch 2/20
25/25 ━━━━━━━━━━━━━━━━━━━━ 14s 545ms/step - acc: 0.8610 - loss: 0.3740 - val_acc: 0.7500 - val_loss: 0.5399
Epoch 3/20
25/25 ━━━━━━━━━━━━━━━━━━━━ 13s 524ms/step - acc: 0.7914 - loss: 0.4908 - val_acc: 0.6875 - val_loss: 0.5904
Epoch 4/20
25/25 ━━━━━━━━━━━━━━━━━━━━ 14s 545ms/step - acc: 0.8683 - loss: 0.3211 - val_acc: 0.5750 - val_loss: 0.6750
Epoch 5/20
25/25 ━━━━━━━━━━━━━━━━━━━━ 14s 542ms/step - acc: 0.8369 - loss: 0.4811 - val_acc: 0.7250 - val_loss: 0.5823
Epoch 6/20
25/25 ━━━━━━━━━━━━━━━━━━━━ 13s 505ms/step - acc: 0.8478 - loss: 0.3768 - val_acc: 0.6875 - val_loss: 0.5519
Epoch 7/20
25/25 ━━━━━━━━━━━━━━━━━━━━ 13s 510ms/step - acc: 0.8563 - loss: 0.3688 - val_acc: 0.7375 - val_loss: 0.5343
Epoch 8/20
25/25 ━━━━━━━━━━━━━━━━━━━━ 13s 537ms/step - acc: 0.8193 - loss: 0.5140 - val_acc: 0.8500 - val_loss: 0.3817
Epoch 9/20
25/25 ━━━━━━━━━━━━━━━━━━━━ 13s 526ms/step - acc: 0.8864 - loss: 0.2435 - val_acc: 0.9375 - val_loss: 0.3635
Epoch 10/20
25/25 ━━━━━━━━━━━━━━━━━━━━ 14s 555ms/step - acc: 0.8677 - loss: 0.3329 - val_acc: 0.7875 - val_loss: 0.4290
Epoch 11/20
25/25 ━━━━━━━━━━━━━━━━━━━━ 13s 522ms/step - acc: 0.9065 - loss: 0.2294 - val_acc: 0.8375 - val_loss: 0.5180
Epoch 12/20
25/25 ━━━━━━━━━━━━━━━━━━━━ 15s 588ms/step - acc: 0.9129 - loss: 0.2257 - val_acc: 0.6500 - val_loss: 0.5979
Epoch 13/20
25/25 ━━━━━━━━━━━━━━━━━━━━ 14s 568ms/step - acc: 0.8828 - loss: 0.2834 - val_acc: 0.8625 - val_loss: 0.2842
Epoch 14/20
25/25 ━━━━━━━━━━━━━━━━━━━━ 14s 549ms/step - acc: 0.8470 - loss: 0.3242 - val_acc: 0.9500 - val_loss: 0.2391
Epoch 15/20
25/25 ━━━━━━━━━━━━━━━━━━━━ 15s 583ms/step - acc: 0.9423 - loss: 0.1951 - val_acc: 0.9000 - val_loss: 0.2725
Epoch 16/20
25/25 ━━━━━━━━━━━━━━━━━━━━ 15s 596ms/step - acc: 0.9203 - loss: 0.2473 - val_acc: 0.9375 - val_loss: 0.2198
Epoch 17/20
25/25 ━━━━━━━━━━━━━━━━━━━━ 14s 558ms/step - acc: 0.9093 - loss: 0.2174 - val_acc: 0.8750 - val_loss: 0.2579
Epoch 18/20
25/25 ━━━━━━━━━━━━━━━━━━━━ 13s 529ms/step - acc: 0.8975 - loss: 0.2464 - val_acc: 0.9250 - val_loss: 0.1691
Epoch 19/20
25/25 ━━━━━━━━━━━━━━━━━━━━ 13s 533ms/step - acc: 0.9136 - loss: 0.1949 - val_acc: 0.9375 - val_loss: 0.2627
Epoch 20/20
25/25 ━━━━━━━━━━━━━━━━━━━━ 13s 530ms/step - acc: 0.8720 - loss: 0.2701 - val_acc: 0.9750 - val_loss: 0.1396
Модель натренировалась
In [12]:
deep_model.summary()
Model: "sequential_1"
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┓
┃ Layer (type)                     Output Shape                  Param # ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━┩
│ conv2d_3 (Conv2D)               │ (None, 256, 256, 32)   │           320 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ max_pooling2d_3 (MaxPooling2D)  │ (None, 128, 128, 32)   │             0 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ batch_normalization             │ (None, 128, 128, 32)   │           128 │
│ (BatchNormalization)            │                        │               │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ conv2d_4 (Conv2D)               │ (None, 128, 128, 64)   │        18,496 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ max_pooling2d_4 (MaxPooling2D)  │ (None, 64, 64, 64)     │             0 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ batch_normalization_1           │ (None, 64, 64, 64)     │           256 │
│ (BatchNormalization)            │                        │               │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ conv2d_5 (Conv2D)               │ (None, 64, 64, 128)    │        73,856 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ max_pooling2d_5 (MaxPooling2D)  │ (None, 32, 32, 128)    │             0 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ batch_normalization_2           │ (None, 32, 32, 128)    │           512 │
│ (BatchNormalization)            │                        │               │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ conv2d_6 (Conv2D)               │ (None, 32, 32, 256)    │       295,168 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ max_pooling2d_6 (MaxPooling2D)  │ (None, 16, 16, 256)    │             0 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ batch_normalization_3           │ (None, 16, 16, 256)    │         1,024 │
│ (BatchNormalization)            │                        │               │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ global_average_pooling2d_1      │ (None, 256)            │             0 │
│ (GlobalAveragePooling2D)        │                        │               │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ flatten_1 (Flatten)             │ (None, 256)            │             0 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ dense_2 (Dense)                 │ (None, 256)            │        65,792 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ dropout_1 (Dropout)             │ (None, 256)            │             0 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ dense_3 (Dense)                 │ (None, 128)            │        32,896 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ dropout_2 (Dropout)             │ (None, 128)            │             0 │
├─────────────────────────────────┼────────────────────────┼───────────────┤
│ dense_4 (Dense)                 │ (None, 2)              │           258 │
└─────────────────────────────────┴────────────────────────┴───────────────┘
 Total params: 1,464,201 (5.59 MB)
 Trainable params: 487,746 (1.86 MB)
 Non-trainable params: 960 (3.75 KB)
 Optimizer params: 975,495 (3.72 MB)
In [13]:
# Оценка модели на обучающем наборе
train_loss, train_acc = deep_model.evaluate(train_ds)
print(f"Train Loss: {train_loss}, Train Accuracy: {train_acc}")

# Оценка модели на валидационном наборе
val_loss, val_acc = deep_model.evaluate(val_ds)
print(f"Validation Loss: {val_loss}, Validation Accuracy: {val_acc}")
25/25 ━━━━━━━━━━━━━━━━━━━━ 3s 97ms/step - acc: 0.9643 - loss: 0.1326
Train Loss: 0.18633639812469482, Train Accuracy: 0.9399999976158142
10/10 ━━━━━━━━━━━━━━━━━━━━ 1s 118ms/step - acc: 0.9841 - loss: 0.0935
Validation Loss: 0.13955150544643402, Validation Accuracy: 0.9750000238418579
In [14]:
pd.DataFrame(history.history).plot(figsize=(15,8))
plt.grid(True)
plt.gca().set_ylim(0,4)
plt.show()

pd.DataFrame(history.history).plot(figsize=(15,8))
plt.grid(True)
plt.gca().set_ylim(0,2)
plt.show()
No description has been provided for this image
No description has been provided for this image

Тут на графике показа история обучения модели: точность (acc, val_acc) и функция потерь (loss, val_loss) по эпохам.

Точность (Accuracy):
acc — точность на обучающем наборе. Почти с самого начала она высокая (~0.950.98) и остаётся стабильной.
val_acc — точность на валидации. Также держится стабильно, немного ниже acc, но без серьёзных просадок.
Вывод: модель хорошо обучается и обобщается на валидации. Отсутствие расхождения между acc и val_acc говорит о том, что переобучение минимально. Обучение проходит успешно. Нет признаков переобучения: val_loss и val_acc не начинают ухудшаться. Можно рассмотреть увеличение числа эпох, если нужно ещё немного улучшить точность, или попробовать регуляризацию / аугментацию, если хочется более надёжной обобщаемости.

In [15]:
test_image_viral = tf.keras.preprocessing.image.load_img("../static/haha_image/loapolt.jpg", target_size=(256, 256), color_mode='grayscale')

plt.imshow(test_image_viral)

X = tf.keras.preprocessing.image.img_to_array(test_image_viral)
X = np.expand_dims(X, axis = 0)

prediction = np.vstack([X])

result = deep_model.predict(prediction)

print(result)

arg_max_result = np.argmax(result)

if arg_max_result == 0 :
    print("Кот")
elif arg_max_result == 1 :
    print("Лев")
1/1 ━━━━━━━━━━━━━━━━━━━━ 0s 290ms/step
[[1. 0.]]
Кот
No description has been provided for this image