Python 二维数组中大于0的值的最快搜索
这是我的密码:Python 二维数组中大于0的值的最快搜索,python,performance,loops,dataframe,time,Python,Performance,Loops,Dataframe,Time,这是我的密码: if frame is not None: self.x, self.y = np.where(frame > 0) 基本上,它的搜索值大于0,但它需要花费很长时间,我需要它每秒至少为数组480x640执行10次。如果它有帮助的话,它总是只有这几点。我正在给我的全班同学发邮件,也许有人会改进我的邮件:(这是编辑后的邮件) 理想情况下,函数np.where()应该在第一个结果时停止,然后从末尾开始执行相同的操作您是否尝试过使用where函数 它将返回一个索引,该索
if frame is not None: self.x, self.y = np.where(frame > 0)
基本上,它的搜索值大于0,但它需要花费很长时间,我需要它每秒至少为数组480x640执行10次。如果它有帮助的话,它总是只有这几点。我正在给我的全班同学发邮件,也许有人会改进我的邮件:(这是编辑后的邮件)
理想情况下,函数np.where()应该在第一个结果时停止,然后从末尾开始执行相同的操作您是否尝试过使用where函数 它将返回一个索引,该索引包含满足条件的点的x,y坐标。例:
import numpy as np
#being A your NxM array
index = np.where(A > o)
是的,我马上就到了,谢谢你;It’很接近,但我想我需要一些更快的东西。你是对同一帧每秒计算几次,还是对不同的帧?我询问是为了确定缓存的位置。如果不缓存,如果我只运行min/max值,而不是将所有内容都放在列表中,然后调用min/max,则速度几乎是两倍(对于我使用timeit),这是为了检查从live feed中为移动对象绘制矩形的位置,因此对于不同的帧,我现在有可用的代码,但问题是要做得更快,编辑后检查您的代码对我来说似乎不完整-该类在哪里被实例化或使用?从任何相机或模拟中读取的帧在哪里?如果你不回答问题,没有人可以帮助你。。。
import numpy as np
#being A your NxM array
index = np.where(A > o)