如何检查python中的二维数组中是否存在子数组?

How to check if a subarray exists in a 2D array in python?

我正在尝试从 2D (576 x 768) 地理阵列创建用于机器学习的 64 x 64 图像数据集。

数组包含随机位置的 nan 值(随机 i,j)并且提取的 64 x 64 数组(图像)应该不包含任何 nan 值。还有一个掩码限制适当数组的数量。

我现在所做的是随机生成 ij 对并检查它们的 nan 值和太多重叠。

我需要帮助的是弄清楚如何检查在 x 提取之后是否还有 64 x 64 没有被采样太多次。

出于说明目的,此任务等同于定位

11
11 

000111000
001110000
001111100
011001100
000111100

不损害 2x2 形式至关重要。

有什么想法可以有效地做到这一点吗?

我想你想执行 2d cross-correlation (Here is the scipy cross-correlation documentation)

它returns一个数组,每个值是该值坐标处的图案和图像之间的相似度。如果为 1,则表示图像与图案完全相同。