Python Как преобразовать массив numpy (dtype = uint16) в строку? - PullRequest
0 голосов
/ 20 апреля 2020

Мой ввод:

>>> bayer
array([[103],
       [ 98],
       [114],
       [103]], dtype=uint16)

Я использую bayer.tostring () и получаю:

 >>> bayer.tostring()
b'g\x00b\x00r\x00g\x00'

Я хочу преобразовать байера в 'gbrg'. Как я могу это сделать?

1 Ответ

0 голосов
/ 20 апреля 2020

Простой способ - преобразовать в uint8 и затем использовать tobytes():

>>> bayer.astype(dtype=np.uint8).tobytes()
b'gbrg'

Другая альтернатива:

>>> bytes(bayer.ravel().tolist())
b'gbrg'

Или даже:

>>> bayer.tobytes()[::2]
b'gbrg'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...