Alignment



  • Hallo ,

    ich habe verschiedene Bilder die das selbe Objekt in verschiedenen
    Fokusstufen zeigt. Durch die Mechanische veränderung der Kameraposition
    verschieben sich die Bilder leicht.

    Kennt jemand einen Algorythmus der die Bilder automatisch überlagert,
    also alignment. Sonnst muß ich es nochmal erfinden.

    Mein Ansatz ist, ich vergrößere das erste Bild etwas, und schiebe das nächste solange in das erste bis ich maximale Deckung erreiche, die ich durch subtraktionen der hellsten pixel ermesse...

    Danke für Hinweise,


  • Mod

    das problem hatte ich bei meiner depth reconstruction auch, ich habe die skalierung einmal bestimmt und danach nur noch immer die bilder richtig skaliert (du musst das nicht jedesmal neu errechnen lassen, zumal da immer mehr oder weniger viel error ist).

    da ich beim knipsen nicht ganz stillhalten kann, nichtmal mit stativ (da man ja den focus drehen muss) hab ich danach dennoch etwas zur kompensation von bild verschiebungen eingebaut. mein keyword worschlag waere "Global motion compensation"



  • Naja, ich werfe mal die Stichworte DeepFocusVariation Schärfentiefenerweiterung und FocusStacking in den Rum, ich errechne aus vielen Hochpräzisen Messbildern
    für jeden daraus gerenderten Pixel die Planenummer aus der der Pixel stammt, und speichere diese im Alphakanal der Bitmap, das bekommt die 3D Engine dann zu fressen. Leider schmeckt es nur wenn ich nicht soviele Salzkörner dazwischen finden würde, es streut doch tierisch, und ich muß alle register ziehen um das Thema in den Griff zu bekommen, mit deinem Stichwort muß ich erstmal sehen.

    Was genau meinst Du mit nicht alle vergrößern müssen.

    Ich denke mal das keines der Bilder in seiner Originalen größe verbleiben darf um genauere Ergebnisse zu erlangen. Nerviges Fummelthema..

    Aber erstmal danke für deinen Hinweis.

    Gruß


  • Mod

    Karsten Schulz schrieb:

    Was genau meinst Du mit nicht alle vergrößern müssen.

    kannst du den teil vielleicht quoten der unklar ist? ich sehe nicht, wo ich etwas mit 'nicht alle vergroessern' schrieb.



  • rapso schrieb:

    "Global motion compensation"

    Ala H.264?
    Weisst du wie das üblicherweise gemacht wird?

    Ich könnte mir vorstellen dass man das Bild erstmal "ganz normal" in z.B. 16x16 Blöcke unterteilt, und dann für jeden Block einen Motion-Vektor sucht.
    Dann hat man ne Matrix von Motion-Vektoren.
    Mit der kann man sich dann rumspielen - z.B. globale Verschiebung, Motion-Vektoren für die 4 Ecken etc. berechnen.


  • Mod

    ja, das von movie codecs (ich glaube mpeg 4.2 hatte das eingefuehrt, aber ja, mpeg 4.10 aka h264 nutzt das auch).

    es gibt keine standard methode, ich habe viele verschiedene paper dazu gelesen, manche sind optimiert indem sie restriktionen hinnehmen wie z.b. keine rotation und manche setzen nur auf qualitaet, weil es offline gemacht wird und somit egal ist wieviel es kostet.



  • Karsten Schulz schrieb:

    Hallo ,
    Kennt jemand einen Algorythmus der die Bilder automatisch überlagert,
    also alignment. Sonnst muß ich es nochmal erfinden.

    Der Algorithmus nennt sich "Bild registrierung"
    http://de.wikipedia.org/wiki/Bildregistrierung



  • Vielen Dank Gast,

    genau das ist was ich benötige.

    Gruß
    Karsten


Log in to reply