2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 определить сдвиг по пику через FFT
Сообщение30.04.2013, 10:56 
Необходимо определить сдвиг одного изображение относительно другого (т.е. они перекрываются)

Код:
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]


причем еще и не всегда правильно выдает пик, т.е. такое ощущение что перескакивает через границу.
типа $y=-y$ или $x= w-x$

 
 
 [ 1 сообщение ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group