【发布时间】:2020-02-20 05:57:15
【问题描述】:
我需要找到一个较小的二维数组 array1 与另一个二维数组 array2 中最接近的位置匹配。
array1 的 grid_size 大小为 46x46 到 96x96。
array2 会更大 (184x184)。
我只能访问 numpy。
我目前正在尝试使用Tversky formula,但未绑定。
效率是最重要的部分,因为这将运行多次。下面显示的我当前的解决方案非常慢。
for i in range(array2.shape[0] - grid_size):
for j in range(array2.shape[1] - grid_size):
r[i, j] = np.sum(array2[i:i+grid_size, j:j+grid_size] == array1 ) / (np.sum(array2[i:i+grid_size, j:j+grid_size] != array1 ) + np.sum(Si[i:i+grid_size, j:j+grid_size] == array1 ))
编辑: 目标是找到一个较小的图像与另一个图像匹配的位置。
【问题讨论】:
-
查看归一化互相关和卷积
-
“最接近”是什么意思?查找此匹配部分的预期目的是什么。数组中有什么?整数,浮点数?备用还是密集?值是否绑定到范围?
-
我正在通过比较寻找一个元素。该数组是来自图像的整数
-
@MadPhysicist 我一直在尝试。我遇到的一个问题是,如果较小的数组全为 0,则卷积不会返回任何内容
-
这不是实质上的图像配准(只用翻译)吗?
标签: python numpy python-3.4