我正在使用一个将RGB数据作为字符串(*)返回的API(例如我为'ABC'
得到[65, 66, 67]
。有没有办法让它直接转换为numpy unint8数组而不用使用ord()
明确理解?由于这是图片数据,我可以处理数百万字节,因此任何快捷方式都可以提供帮助。
否则,任何比理解更快的方法都很乐意接受。
(*)API目前需要Python 2.7
答案 0 :(得分:3)
您可以使用np.frombuffer
:
np.frombuffer(b'ABC', dtype=np.uint8)
# array([65, 66, 67], dtype=uint8)
由于你在Python2上,这可能直接在字符串上工作,在Python3上,必须首先编码一个字符串以产生一个字节对象。