Я пытаюсь сохранить изображение из массива пикселей (numpy.ndarray). Предположим, мой массив пикселей - это myArray. Когда я набираю myArray в интерпретаторе Python, он показывает значение как:
array([[[154, 161, 156],
[154, 161, 156],
[154, 160, 156],
...,
[152, 157, 156],
[151, 156, 155],
[150, 155, 154]],
[[155, 161, 156],
[155, 161, 156],
[155, 161, 156],
...,
[152, 157, 156],
[151, 156, 155],
[150, 155, 154]],
[[155, 161, 156],
[155, 161, 156],
[155, 161, 156],
...,
[152, 157, 156],
[151, 156, 155],
[150, 155, 154]],
...,
[[187, 193, 188],
[187, 193, 188],
[187, 193, 188],
...,
[189, 194, 193],
[189, 194, 193],
[189, 194, 193]],
[[188, 194, 189],
[188, 194, 189],
[188, 194, 189],
...,
[189, 194, 193],
[189, 194, 193],
[189, 194, 193]],
[[188, 194, 189],
[188, 194, 189],
[188, 194, 189],
...,
[189, 194, 193],
[189, 194, 193],
[189, 194, 193]]], dtype=uint8)
Но когда я создаю новое изображение из этого массива с помощью cv2.imwrite('abc.jpg',myArray)
, а затем читаю это изображение с помощью cv2.imread('abc.jpg')
, новый массив выглядит иначе. Это выглядит примерно так:
array([[[155, 161, 156],
[155, 161, 156],
[155, 161, 156],
...,
[152, 157, 156],
[151, 156, 155],
[150, 155, 154]],
[[155, 161, 156],
[155, 161, 156],
[155, 161, 156],
...,
[152, 157, 156],
[151, 156, 155],
[150, 155, 154]],
[[155, 161, 156],
[155, 161, 156],
[155, 161, 156],
...,
[152, 157, 156],
[151, 156, 155],
[150, 155, 154]],
...,
[[187, 193, 188],
[187, 193, 188],
[187, 193, 188],
...,
[189, 194, 193],
[189, 194, 193],
[189, 194, 193]],
[[188, 194, 189],
[188, 194, 189],
[188, 194, 189],
...,
[189, 194, 193],
[189, 194, 193],
[189, 194, 193]],
[[188, 194, 189],
[188, 194, 189],
[188, 194, 189],
...,
[189, 194, 193],
[189, 194, 193],
[189, 194, 193]]], dtype=uint8)
Есть идеи, почему это происходит?