Вы получите эту ошибку, если ваш базовый тип данных недопустим для Image.fromarray()
. Так, например, он с радостью примет массив 8-разрядных целых чисел без знака:
i=np.zeros((100,100,4),dtype=np.uint8) # specify unsigned 8-bit ints
print(i.dtype) # prints dtype('uint8')
im = Image.fromarray(i) # works fine
Теперь попробуйте с недопустимым типом:
i=np.zeros((100,100,4),dtype=np.int16)
print(i.dtype) # prints dtype('int16')
im = Image.fromarray(i)
TypeError: Cannot handle this data type
Итак, ответ таков: ваш тип данных недопустим. Проверьте это с v.dtype
.