Сегодня я столкнулся со странной вещью, которую не могу объяснить и не могу найти ответ. Может быть, у меня есть какое-то фундаментальное недоразумение, и я не вижу очевидного, но я думаю, что я нахожусь в той точке, где я буду кусать пулю, когда меня сейчас вызывают, зная, что происходит.
Я загружаю некоторые данные изображения, используя PIL, и преобразую их в массив numpy. Здесь нет ничего особенного. Однако затем я меняю тип данных с целого на плавающее, чтобы на более позднем этапе я смог нормализовать каналы RGB.
Я бы ожидал, что изменение типа данных с int на float на самом деле никак не изменит изображение. Однако ...
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image
im = Image.open("test.jpg")
до изменения dtype:
plt.imshow(np.array(im))
после изменения dtype:
plt.imshow(np.array(im).astype(float))
Это то, что можно ожидать? Если так ... почему? Что мне не хватает?
Приветствия и спасибо заранее !!