#python #arrays #numpy #tensorflow #opencv
#python #массивы #numpy #тензорный поток #opencv
Вопрос:
Я обучаю CNN генерировать изображения. Тип всех изображений — тензоры. Я хочу, чтобы они были преобразованы в массивы numpy, затем я могу обработать их с помощью opencv.
Я знаю о .numpy()
методе, он преобразует мой тензор в массив numpy, но форма по-прежнему тензорная. Я не могу заставить его работать в cv2.
Вот мой код:
p=model_(x)
s=p.numpy()
print(s.shape)
cv2.imwrite("hello.jpg",s)
(1, 183, 275, 3), это форма массива, сгенерированного с помощью .numpy()
, как я могу изменить его форму, чтобы сохранить выходное изображение?
Ответ №1:
Вам нужно избавиться от первого dim (пакета), просто используйте срез с reshape
.
s=p.numpy()
print(s.shape)
cv2.imwrite("hello.jpg",s.reshape(s.shape[1:]))