opencv С++: отрицательные координаты с перспективойTransform

I want to Perspective Transform an image zone around a marker. This zone is of course located inside a larger image. For this, I:

1) findHomography the transformation matrix Homo based only on the marker corners,

then:

2) Я применяю перспективное преобразование с помощью Homo к углам большей зоны вокруг маркера, чтобы найти углы области обрезки в увеличенном изображении, трансформированном в перспективе.

Then I:

3) деформировать все изображение с помощью Homo и:

4) обрезать область (определенную выше на шаге 2) внутри преобразованного изображения.

Идея состоит в том, чтобы преобразовать изображение в перспективе по блокам, а затем собрать разные блоки вместе. (изображения были сделаны без калибровки камеры, поэтому в разных областях они выглядят по-разному)

Проблема возникает на шаге 2): координаты преобразованных углов отрицательны, как я должен вычислить правильное смещение для них, чтобы найти правильную область в преобразованном изображении?

Я уже исследовал это. Например здесь:

cv::warpPerspective показывает только часть искаженного изображения

но я не понимаю, какое значение я должен дать w и h в приведенной выше ссылке, чтобы соответствовать моему делу?...

Объяснение в приведенной выше ссылке немного сбивает меня с толку, поэтому, если кто-нибудь может разъяснить этот момент более подробно и/или с примером, это наверняка поможет!

Любая помощь будет принята с благодарностью!

Заранее спасибо, Джон


person John Doe Nut    schedule 21.08.2014    source источник
comment
взгляните сюда: stackoverflow.com/questions/17852182/   -  person Engine    schedule 21.08.2014
comment
этот вопрос помог?   -  person Engine    schedule 21.08.2014