python - 从一个十六进制字符串构造一个 Numpy 数组

标签 python numpy numpy-ndarray

我有一个十六进制字符串 "89-50-4E-47-0D-0A-1A-0A-00-00-00-0D-49"具体来说,这将包含图像的数据。

我想将其转换为 Numpy 数组或可能从所述数据重建 OpenCV 图像。

还将提供宽度和高度,以便知道 Numpy 数组的尺寸。

如何从上述字符串构造一个 Numpy 数组?

最佳答案

我们可以使用 np.fromiter ,并使用 base 将单个字符串转换为十六进制参数在 int ,然后使用 dtype 到整数类型参数在 np.fromiter :

s = "89-50-4E-47-0D-0A-1A-0A-00-00-00-0D-49"

np.fromiter((int(x, 16) for x in s.split('-')), dtype=np.int32)
# array([137,  80,  78,  71,  13,  10,  26,  10,   0,   0,   0,  13,  73])

关于python - 从一个十六进制字符串构造一个 Numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60969737/

相关文章:

python - 使用 numpy 通过嵌套循环创建多个矩阵

python - 将 Numpy 数组中多个出现的元素的集合替换为相应的值

python - Numpy:获取一维数组元素的索引作为二维数组

python - Pandas.resample 为非整数倍频

Python 不会使用 for 循环从字典中正确提取值

python - 如何让 tkinter 等待新线程完成?

python - 反转 ndarray 中的任意维度

python - 快速访问字典中的部分数据

python - 强制从可能可迭代对象的列表/数组中创建一维 numpy 数组