Я понимаю, что это узкоспециализированный вопрос ... но здесь идет. Я использую реализацию SIFT, чтобы найти совпадения на двух изображениях. С текущей реализацией, которая у меня есть, когда я сопоставляю изображение с версией 90 или 180 градусов, я получаю совпадения, которые отклоняются примерно на половину пикселя, но они варьируются в пределах диапазона. Так, например, если совпадение найдено по координате пикселя (x, y) в im1, то соответствующее совпадение в его изображении im2, повернутом на 90 градусов, будет в (x, y + 0.5). Если я использую изображение на 180 градусов, то смещение появляется в координатах x и y и только в x, если я использую повернутое на 270 градусов (-90) изображение.
1) Во-первых, я предполагаю, что SIFT должен дать мне такое же местоположение в повернутом изображении. Неявное предположение состоит в том, что вращение не изменяет значения пикселей изображения, которое, как я подтвердил, является истинным. (Я использую IRFAN View для поворота и сохранения в формате .pgm, а значения пикселей остаются неизменными).
2) У меня есть другие реализации, которые не дают это смещение.
3) Я предполагаю, что это смещение связано с программированием и, возможно, связано с преобразованием из координат ключевой точки пространства масштаба в координату ключевой точки пространства изображения.
Я надеюсь, что кто-то сталкивался с этой проблемой или может указать мне на ссылку о том, как преобразовать пространство масштаба в пространство изображений.