gpt4 book ai didi

python - uint8 小端数组到 uint16 大端

转载 作者:太空宇宙 更新时间:2023-11-04 04:39:14 27 4
gpt4 key购买 nike

在 Python2.7 中,通过 USB 批量传输,我从相机中获取图像帧:

frame = dev.read(0x81, 0x2B6B0, 1000)

我知道一帧是 342x260 = 88920 像素的小字节序,因为我从批量传输中读取了 2x88920 = 177840 (0x2B6B0)。

如何将 typecode=B 的帧数组的内容转换为 uint16 大端数组?

最佳答案

像这样的东西应该可以解决问题:

frame_short_swapped = array.array('H', ((j << 8) | i
for (i,j)
in zip(frame[::2], frame[1::2])))

它对来自frame 的两个连续字节进行配对,并将配对解压缩为ij。将 j 左移一个字节,然后用 or i 有效地交换字节(也就是 2 字节类型的字节顺序转换)并将其馈送到 code>H 类型数组。我对此有点不安,因为它应该对应于 C short 类型(根据文档),但类型大小实际上只能保证最小长度。我猜你需要引入 ctypes.c_uint16 如果对此很严格?

关于python - uint8 小端数组到 uint16 大端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51030163/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com