【发布时间】:2014-06-21 20:20:49
【问题描述】:
我有两个 Numpy 数组,其中包含来自另一个数组的最大值和最小值的索引。
例如,对于一个输出,最大值和最小值数组如下所示:
Maxima indices are (array([ 4, 10, 14, 37, 43, 51, 59, 67, 81, 89, 95]),)
Minima indices are (array([ 7, 12, 25, 33, 40, 49, 56, 63, 76, 92]),)
这些索引来自图像行中的强度值。
我需要找出一个最大值在两个最小值之间的四个索引位置内出现了多少次 - 换句话说:
minima + 4 + maxima + 4 + minima
如何在 Python 中有效地做到这一点?如何比较两个数组中的索引值以找到该序列的实例,然后计算总共有多少个实例?
非常感谢您的帮助。
编辑:每个最大值必须在左右最接近最小值的 4 个位置内。基本上,我试图根据强度值识别图像中的虚线。
【问题讨论】:
-
最大值是否必须在左侧和右侧最近最小值的 4 个位置内?还是在一个最小值的 4 个位置内就足够了?
-
最大值必须在左侧和右侧最近最小值的 4 个位置内 - 是的。我将编辑问题以反映这一点。感谢您的提问。
-
好的,我的答案中的代码应该考虑到它。它只是使单向遍历变得不可能。
标签: python arrays algorithm numpy sequence