почему np.concatenate () можно использовать для класса 'PIL.Image.Image'? - PullRequest
0 голосов
/ 21 ноября 2019

Я читаю чей-то transform.py, и есть код, который действительно смущает меня. Вот оно:

np.concatenate(img_group, axis=2)

однако img_group - это последовательность <class 'PIL.Image.Image'>, и я просмотрел документы np.concatenate (), он говорит мне, что: введите описание ссылки здесь

numpy.concatenate ((a1, a2, ...), axis = 0, out = None) Объединить последовательность массивов вдоль существующей оси. Параметры: a1, a2,…: последовательность array_like Массивы должны иметь одинаковую форму, за исключением размера, соответствующего оси (первая по умолчанию).

иЯ пробовал несколько примеров, таких как:

x = Image.open('flows/v_ApplyEyeMakeup_g08_c01/frame/img_00001.jpg').convert('RGB')
y = Image.open('flows/v_ApplyEyeMakeup_g08_c01/frame/img_00002.jpg').convert('RGB')
z = np.concatenate([x,y], axis=2)

, тогда это сработало! z - это тип numpy.ndarray, размер которого (240 320,6). Однако <class 'PIL.Image.Image'>, похоже, не тот тип array, который необходим для параметров np.concatenate(), поэтому мне интересно, как он работает?

...