Я пытаюсь загрузить изображение .mat, экспортированное из Tensorflow, с помощью Scipy.io, используя OpenCV.
Я могу изменить код Tensorflow, чтобы экспортировать изображение .mat только с 3-мя каналами напрямую, но я потеряю многоданных, и это выглядит неправильно даже.
И вот почему я пытаюсь экспортировать необработанные данные как есть.
В моем случае я загружаю файл .mat с помощью scipy.и получить массив NumPy, который выглядит следующим образом
(640, 640, 128)
, и я хочу изменить его, потому что OpenCV не может загрузить изображение с 128 каналами.
(640, 640, 3)
Я не совсем понимаю концепцию изменения формы и думаю, что делаю это неправильно.
Я получаю эту ошибку:
ValueError: невозможно преобразовать массив размером 52428800 в форму (640 640,3)
Спасибо и хорошего дня,
Хешам
Редактировать 1: Это код:
import cv2
import scipy.io as sio
import numpy as np
matfile = 'docia.mat'
img = sio.loadmat(matfile)
img_reshaped = img['embedmap'].reshape(640, 640, 3)
cv2.imshow("segmented_map", img['embedmap'])
cv2.waitKey(0)`