Две операции, вращение и перевод могут быть определены в любом порядке. Сначала легче обнаружить вращение, потому что вы можете компенсировать это. Как только оба изображения ориентированы одинаково, перевод становится вопросом простой корреляции.
Нахождение относительного поворота изображения лучше всего делать, определяя локальные градиенты. Для каждой окрестности (например, 3 × 3 пикселя) обработайте значение серого как функцию z (x, y), проведите плоскость через 9 пикселей и определите наклон или градиент этой плоскости. Теперь усредните градиент, который вы нашли по всему изображению или, по крайней мере, по центру. Ваши два изображения будут давать разные средние. Частично это связано с тем, что при поворотах не на 90 градусов изображения не будут полностью перекрываться, но в целом разница в средних градиентах заключается в повороте между ними.
После того как вы повернули одно изображение назад, вы можете определить корреляцию. Это довольно стандартная операция; вы по существу определяете, насколько хорошо два изображения перекрываются для каждого возможного смещения. Это даст вам оценку за смену.
Получив оба, вы можете уточнить оценку угла поворота, повернув перевод назад, сместив второе изображение и определив средний градиент только по пикселям, общим для обоих изображений.