C函数在不相关的numpy数组上的交互?

时间:2016-04-14 07:30:45

标签: python arrays python-2.7 numpy

我在其中一个代码中遇到了一些非常奇怪的行为。它看起来像这样:

count=0
while True:
    print "loop number : ", count
    print "minx : ", minx # [[118.]]
    image=camera.read_frame() # C function, grab a frame and return a Ndarray with the image, does NOT interact with minx.
    print "type of minx : ", type(minx) # numpy.ndarray
    print "inside value of minx : ", minx[0][0] # 118.
    print "minx : ", minx # freeze execution on the n-th time, computer dependant.
    count+=1
    #do other stuff

所以我有这个循环:我抓住一个框架,对其进行一些点检测,并将该点的坐标存储在变量minx中。 一切正常,但在第n个循环(我的计算机上的1870,但它依赖于计算机),对抓取图像的C函数的调用不起作用并且返回的数组已损坏。 这是我正在研究的问题,但我想知道的是:

  • 这怎么会影响minx变量?
  • minx如何存在,我可以检索其类型和内部值,但不能检索整个数组?

为了澄清,我可以在控制台上阅读:

  

循环次数:0

     

minx:[[118.]]

     

minx的类型:numpy.ndarray

     

minx的内部值:118。

     

minx:[[118。]]

......#1869循环

  

循环次数:1869

     

minx:[[163.]]

     

minx的类型:numpy.ndarray

     

minx的内部值:163。

     冻结在这里

我没有任何错误/异常,它只是冻结。我也没有任何内存泄漏。我知道这是由C函数引起的,因为我回到它的旧版本并且它可以工作。

我能弄清楚的是,当它们完全不相关时,C函数如何对minx变量产生影响?为什么我可以访问minx的内部值而不是整个数组?

0 个答案:

没有答案