Рамка OpenCV в непригодной форме - PullRequest
0 голосов
/ 23 января 2020

У меня есть CNN, которому необходимо, чтобы входные изображения были в форме [каналы, размер, размер], но когда я получаю кадры с помощью функции видеопотока imutils, я получаю кадры в форме [размер, размер, канал].

Использование numpy reshape для изменения формы этого кадра делает мой CNN неспособным распознать, что находится в кадре, и не может правильно что-либо классифицировать.

Есть ли способ указать форму, которой я хочу, чтобы мои кадры были в? Или изменить форму кадра таким образом, чтобы я сохранил изображение?

from imutils.video import VideoStream
import time
vs = VideoStream(src=1).start()
time.sleep(2.0)
frame = vs.read()
print(frame.shape)  # output: (480, 640, 3) -> I need (3, 480, 640)

1 Ответ

1 голос
/ 23 января 2020

Я думаю, что функция, которую вы ищете, является транспонированной. Предполагая, что frame является массивом numpy, вы можете использовать:

frame_cnn = frame.transpose([2,0,1])
...