Обобщение найденной матрицы преобразования на целое изображение

Я использую OpenCV и C ++. Я успешно получил матрицу преобразования между изображениями A и B на основе 3 общих точек на изображениях. Теперь я хочу применить эту найденную матрицу преобразования ко всему изображению. Я надеялся, что WarpAffine может сделать работу, но это дает мне эту ошибку http://i.imgur.com/T7Xl0cw.jpg. Однако я использовал только часть кода affineTransform, где он находит искаженное изображение, потому что я уже нашел матрицу преобразования, используя другой метод. Кто-нибудь может сказать, если это правильный способ преобразования всего изображения, если у меня уже есть матрица преобразования? Вот кусок этого кода http://pastebin.com/HFYSneG2

0

Решение

Если у вас уже есть матрица преобразования, тогда cv :: warpAffine — правильный путь. Похоже, ваше сообщение об ошибке относится к типу матрицы преобразования и / или ее размеру, который должен быть 2×3 с плавающей запятой или двойной точностью.

2

Другие решения

Матрицу общих точек, найденных на обоих изображениях, необходимо транспонировать, а затем использовать WarpAffine.

0