Opencv virtuelt kamera, der roterer / oversætter for fugleperspektiv

Jeg har et kalibreret kamera, hvor jeg nøjagtigt kender de iboende og eksterne data. Også kameraets højde er kendt. Nu vil jeg næsten rotere kameraet for at få et fugleperspektiv, så jeg kan opbygge homografimatrixen med de tre rotationsvinkler og oversættelsen.

Jeg ved, at 2 punkter kan omdannes fra et billede til et andet via homografi, da

x = K * (Rt * n / d) K ^ -1 * x '

der er et par ting jeg' vil gerne vide det nu: hvis jeg vil bringe billedkoordinaten tilbage i ccs, er jeg nødt til at multiplicere den med K ^ -1, ikke? Som billedkoordinat bruger jeg (x ', y', 1)?

Så skal jeg bygge en rotationsmatrix til at rotere ccs ... men hvilken konvention skal jeg bruge? Og hvordan ved jeg, hvordan jeg opsætter min WCS?

Den næste ting er det normale og afstanden. Er det rigtigt bare at tage tre punkter, der ligger på jorden og beregne det normale ud af dem? og er afstanden så kameraets højde?

Jeg vil også gerne vide, hvordan jeg kan ændre højden på det næsten udseende fugleudsigtskamera, så jeg kan sige, at jeg vil se jordplanet fra 3 meters højde. Hvordan kan jeg bruge enheden "meter" i oversættelses- og homografimatrixen?

Indtil videre ville det være dejligt, hvis nogen kunne oplyse og hjælpe mig. Og foreslå venligst ikke at generere fuglevisningen med "getperspective", det har jeg allerede prøvet, men denne måde er ikke egnet for mig.

Senna

7
задан skaffman 7 July 2011 в 06:50
поделиться