Я хочу преобразовать трехмерное изображение в пустой массив, убедившись в том, что это изображение в градациях серого.
Я создал пустой массив, в который я хотел бы загрузить эти изображения вгде x, y, z - соответствующие размеры и каналы = 1.
img_array = np.ndarray((len(directory), x, y, z, channels), dtype=np.uint8
Это код, который я использовал для преобразования исходных файлов .mat в массив и загрузки каждого из них в пустой массив.только что созданный
i=0
for array in directory:
OG = loadmat(array, appendmat = True) #load the mat file
OG = OG['new_OG'] #get the actual image from the list
OG =np.array(OG) #convert to an array
img_array[i] = OG #append to the empty array
Однако, когда я пытаюсь добавить его к img_array
в последней строке, он не работает из-за следующей ошибки:
ValueError: could not broadcast input array from shape (80,84,80) into shape (80,84,80,1)
Так какмогу ли я убедиться, что я превращаю файл .mat в простой массив с нужной мне формой: (x, y, z, 1)?