Я начинаю с массива изображений.
In[1]:img = cv2.imread('test.jpg')
Форма - это то, что вы могли ожидать от изображения RGB 640x480.
In[2]:img.shape
Out[2]: (480, 640, 3)
Однако это изображение, которое у меня есть, представляет собой кадр видео длиной 100 кадров. В идеале я хотел бы иметь один массив, содержащий все данные из этого видео, которые img.shape
возвращаются (480, 640, 3, 100)
.
Как лучше всего добавить следующий кадр - то есть следующий набор данных изображения, еще один массив 480 x 640 x 3 - в мой исходный массив?
numpy.newaxis
определяется какNone
(в файлеnumeric.py
), поэтому вы можете использовать `image = image [..., None].None
. Используйте,np.newaxis
потому что явное лучше, чем неявное.None
ничего не подразумевает. Это явно. Это такNone
. Сказано четко.None
это вещь в питона. Нет сомнений.None
это последняя деталь, вы не можете углубиться. С другой стороны,numpy.newaxis
подразумеваетNone
. По сути, этоNone
. Это такNone
. Но этоNone
безоговорочно. ОнNone
хотя и не непосредственно выражаетсяNone
. Явная заявил четко и в деталях, не оставляя места для путаницы или сомнений. Неявно предлагается, но прямо не выражается. Я должен добавить, что с точки зрения API его безопаснее использоватьnumpy.newaxis
.