У меня есть две одинаковые картинки, но вторая искажена и имеет разные размеры.Я хочу иметь возможность выбрать точку на первом изображении и найти точно такую же точку на втором изображении.Синхронизация изображений будет выполняться по 4 точкам на каждом изображении.
Пример:
Обычное изображение
Искаженное изображение
Результатом будет функция, получающая X, Y Point с первого изображения и возвращающая X ', Y', соответствующие точно такой же точке на втором изображении.
I foudФункция OpenHV findHomography (), которая возвращает матрицу гомографии, но во всех примерах эта матрица используется для искажения второго изображения с помощью warpPerspective (), а это не то, что мне нужно.Мне просто нужны соответствующие координаты / пиксели между двумя картинками.
Какие-нибудь советы о том, как это сделать в C #?(С OpenCV или нет)
РЕДАКТИРОВАТЬ:
Пример точек:
Обычное изображение: [250, 25], [250, 287],[399, 287], [400, 28]
Целевое изображение: [0, 0], [2098, 29538], [19127, 28164], [17097, -1200]
РЕДАКТИРОВАТЬ С ИСПОЛЬЗОВАНИЕМ ОТКРЫТОГО CV:
OpenCvSharp.Mat hCv = OpenCvSharp.Cv2.FindHomography(srcPoints, dstPoints);
OpenCvSharp.Point2d[] resultCv = OpenCvSharp.Cv2.PerspectiveTransform(targetCv, hCv);