将“bytes”字符串转换为uint8的numpy数组

时间:2017-12-04 10:57:29

标签: python-2.7 numpy

我正在使用一个将RGB数据作为字符串(*)返回的API(例如我为'ABC'得到[65, 66, 67]。有没有办法让它直接转换为numpy unint8数组而不用使用ord()明确理解?由于这是图片数据,我可以处理数百万字节,因此任何快捷方式都可以提供帮助。

否则,任何比理解更快的方法都很乐意接受。

(*)API目前需要Python 2.7

1 个答案:

答案 0 :(得分:3)

您可以使用np.frombuffer

np.frombuffer(b'ABC', dtype=np.uint8)
# array([65, 66, 67], dtype=uint8)

由于你在Python2上,这可能直接在字符串上工作,在Python3上,必须首先编码一个字符串以产生一个字节对象。