Необходимо определить сдвиг одного изображение относительно другого (т.е. они перекрываются)
Код:
def translation(im0, im1):
"""Return translation vector to register images."""
shape = im0.shape
f0 = fft2(im0)
f1 = fft2(im1)
ir = abs(ifft2((f0 * f1.conjugate()) / (abs(f0) * abs(f1))))
t0, t1 = numpy.unravel_index(numpy.argmax(ir), shape)
if t0 > shape[0] // 2:
t0 -= shape[0]
if t1 > shape[1] // 2:
t1 -= shape[1]
return [t0, t1]
вот есть такой простой код на питоне.
непонятно почему делаются после нахождения пика еще какие то телодвижения
Код:
if t0 > shape[0] // 2:
t0 -= shape[0]
if t1 > shape[1] // 2:
t1 -= shape[1]
причем еще и не всегда правильно выдает пик, т.е. такое ощущение что перескакивает через границу.
типа

или
