У меня есть небольшая функция, в которой я получаю изображения и всегда выполняю функцию обратного вызова.Мне нужно преобразовать это из ndarray в строку в кодировке base64, чтобы иметь возможность передавать ее дальше.Тем не менее, я получаю сообщение об ошибке: ndarray не является C-инфекционным.Я пробую тот же код на нескольких других изображениях, и это работает.Я не знаю, что я делаю здесь не так:
def process_image(image):
i = np.array(image.raw_data)
i2 = i.reshape((480,640,4))
i3 = i2[:,:,:3]
print('shape : ', i3.shape)
print('size : ', i3.size)
print('dtype : ', i3.dtype)
encode = base64.b64encode(i3)
Вывод, который я получаю:
shape : (480, 640, 3)
size : 921600
dtype : uint8
Traceback (most recent call last):
File "D:\Tools\CARLA\CARLA_0.9.5\PythonAPI\examples\ROS_CARLA.py", line 65, in process_image
encode = base64.b64encode(i3)
File "C:\Users\u17m36\AppData\Local\Programs\Python\Python37\lib\base64.py", line 58, in b64encode
encoded = binascii.b2a_base64(s, newline=False)
ValueError: ndarray is not C-contiguous
Что это означает, что это не C-смежный массив?Как я могу решить это?