Загрузите 3D-файл .mat в виде массива с полутонов - PullRequest
0 голосов
/ 22 сентября 2018

Я хочу преобразовать трехмерное изображение в пустой массив, убедившись в том, что это изображение в градациях серого.

Я создал пустой массив, в который я хотел бы загрузить эти изображения вгде 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)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...