opencv C++: отрицательные координаты с перспективой преобразования
Я хочу Перспектива Преобразовать зону изображения вокруг маркера. Эта зона, конечно, находится внутри большего изображения. Для этого я:
1) найти гомографию матрицы преобразования Homo на основе только маркеров углов,
затем:2) Я применяю перспективу Transform с Homo к углам большей зоны вокруг маркера, чтобы найти углы области обрезки в трансформированном в перспективе увеличенном изображении.
Затем я:3) деформируйте все изображение с помощью Homo и:
4) обрезать область (определенную выше на шаге 2) внутри преобразованного изображения.
Идея состоит в том, чтобы в перспективе преобразовать изображение по блокам, а затем собрать различные блоки вместе. (изображения были сняты без калибровки камеры, поэтому они выглядят по-разному искаженными из одной области в другую)
Проблема возникает на шаге 2): координаты преобразованных углов отрицательны, как я должен вычислить правильное смещение для них, чтобы найти правильную область в преобразованном изображении?
Я уже исследовал это. Например здесь:
cv:: warpPerspective показывает только часть искаженного изображения
но я не понимаю, какое значение я должен дать w и h в ссылке выше, чтобы соответствовать моему делу?...
Объяснение в приведенной выше ссылке меня немного смущает, поэтому, если кто-то сможет прояснить этот вопрос более подробно и / или с примером, это наверняка поможет!
Любая помощь будет принята с благодарностью!
Заранее спасибо Джон