【发布时间】:2018-08-07 18:28:01
【问题描述】:
我需要堆叠许多由相同形状的 2D numpy 数组表示的图像(即,取它们的总和或中位数)。然而,当我堆叠它们时,它们需要正确对齐——每张图像虽然形状相同,但都是黑色的,中心周围有一个小圆形物体,但不完全在中心。我可以找到每个图像的质心坐标(通过包photutils 使用模块SourceProperties.centroid),但这些坐标对于每张图像都是不同的——它们也是亚像素坐标(例如:(y, x) = (203.018, 207.397))。
我不知道有一种方法可以简单地将对象移动到数组的中心,因为质心具有亚像素坐标,所以如果有一种方法可以通过它们的唯一性对齐每个对象似乎会更直接我堆叠它们时的质心坐标......换句话说:
import numpy as np
# First image = array1, shape = (400, 400)
centroid1 = (203.018, 207.397)
# Second image = array2, shape = (400, 400)
centroid2 = (205.256, 199.312)
array_list = [array1, array2]
>>> stacked = np.median(array_list, axis=0) # but while setting centroid1 = centroid2 so that the two centroid points exactly overlap while computing median
但我不确定这在代码中会是什么样子。这可能吗?
【问题讨论】:
标签: python arrays python-3.x image numpy