Моя проблема заключается в следующем:Линейный сдвиг между 2 наборами координат
Для моей работы мне нужно сравнить изображения отсканированных фотопластинок с каталогом образца известных звезд в пределах общей площади неба пластины (я называю это основным каталогом). С этой целью я извлекаю информацию, такую как яркость изображения и положение на небе, объектов в изображениях и сохраняю их в таблицах. Затем я использую python для создания полиномиального соответствия для калибровки величины звезд на изображении. Это работает до определенной точности довольно хорошо, но, к сожалению, недостаточно хорошо, так как есть небольшой сдвиг между координатами, которые объект имеет на фотографических пластинках и в главном каталоге.
Здесь зеленые кружки обозначают позиции (центр круга) объектов в главном каталоге. Как вы можете видеть, фактические звезды всегда расположены в верхнем левом углу объектов в главном каталоге.
Я немного посмотрел на сравнение изображений (то есть How to detect a shift between images), но сейчас я немного в затруднении, потому что на самом деле я не сравниваю изображения, а массивы с координатами объектов. Еще одна проблема заключается в том, что (как вы можете видеть на изображении) есть объекты в главном каталоге, которые не видны на пластинах, а не все плиты имеют одинаковую глубину (что означает, что некоторые показывают больше звезд, чем другие).
Что я хотел бы знать, это способ найти и исправить линейный сдвиг между двумя массивами разного размера координат в python. Не должно быть никаких поворотов, поэтому это просто сдвиг в направлениях x и y. Массивы - это обычные числовые повторы.
Радиус круга - это радиус поиска для алгоритма, который просматривает мой основной каталог, чтобы найти возможные совпадения между каталогом и изображением. Итак, я извлек все возможные совпадения и вычислил различия между ними, как вы предлагали, и, похоже, это работает. Гистограммы не идеальны, но после их сглаживания я получаю максимум, который я могу использовать для перевода. благодаря –