Методы исправления ошибки «обрезания входных данных» при визуализации изображения с примерами кода

Предоставленное вами сообщение об ошибке обычно встречается в контексте визуализации изображения с помощью функции imshow, когда входные данные находятся за пределами допустимого диапазона. Эта ошибка возникает, когда входные данные для отображения изображения выходят за рамки ожидаемого диапазона значений.

Чтобы решить эту проблему, вы можете применить различные методы, чтобы гарантировать, что ваши входные данные попадают в допустимый диапазон для imshow, который равен [0, 1] для значений с плавающей запятой или [0, 255] для целых чисел, представляющих значения RGB. Вот несколько методов, которые вы можете использовать, а также примеры кода:

  1. Метод 1. Масштабирование входного массива с помощью деления

    import numpy as np
    # Assuming your input array is `image_data`
    scaled_image = image_data / np.max(image_data)
  2. Метод 2. Масштабирование входного массива с использованием нормализации минимального и максимального значений

    import numpy as np
    # Assuming your input array is `image_data`
    min_val = np.min(image_data)
    max_val = np.max(image_data)
    scaled_image = (image_data - min_val) / (max_val - min_val)
  3. Метод 3: ограничение входного массива до допустимого диапазона

    import numpy as np
    # Assuming your input array is `image_data`
    clipped_image = np.clip(image_data, 0, 1)
  4. Метод 4. Масштабирование входного массива с помощью библиотеки scikit-image

    from skimage import exposure
    # Assuming your input array is `image_data`
    scaled_image = exposure.rescale_intensity(image_data, in_range=(0, 1))

После применения любого из этих методов вы можете использовать полученный scaled_imageили cipped_imageдля визуализации изображения с помощью imshow, не столкнувшись с ошибкой.