То, как я понимаю представление цветных изображений в целях объяснения (в виде трехмерного массива), отличается от представления цветного изображения в OpenCV. Я пытался объяснить это здесь
Допустим, есть изображение размером 301x201. Когда я использую np.shape
, я получаю (201,301,3)
, что показано на левом рисунке. Но большинство книг и ресурсов использовали цифру в RHS, чтобы объяснить, как цветное изображение является 3D-изображением. Но почему трехмерный массив не представлен, как рис на RHS, поскольку он более интуитивно понятен? Когда я запускаю это, когда я запускаю это
import numpy as np
import cv2
a = np.zeros((2, 3, 4))
print(a)
, я получаю следующее
[[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]]
, которое напоминает рис на LHS. Так что фига верна?