4

我正在通过运行 wince 的相机的套接字传输图像 :( 相机中的图像只是使用 realloc 针对给定的 x * y 大小创建的浮点数组

另一方面,我在 python 中接收这些图像。我有这段代码正在工作

img_dtype = np.float32
img_rcv = np.empty((img_y, img_x), 
                   dtype = img_dtype)

p = sck.recv_into(img_rcv, 
                  int(size_bytes), 
                  socket.MSG_WAITALL)

if size_bytes != p:
    print "Mismatch between expected and received data amount"


 return img_rcv

我对 numpy 创建其数组的方式有点困惑,我想知道这个 img_rcv 是否与 recv_into 的工作方式兼容。

我的问题是:

  • 这有多安全?
  • numpy 数组的内存分配是否会以 recv_into 为已知?
  • numpy 数组创建例程是否等同于 malloc?
  • 它只是因为我很幸运而工作吗?
4

1 回答 1

3

答案是:

  • 安全的

  • 是的,通过缓冲区接口

  • 是的,从某种意义上说,您可以获得一块可以使用的内存

于 2012-12-21T20:24:53.470 回答