720p/60 undistorsion Script

  • Hallo zusammen,
    nach langem rumprobieren ist es mir gelungen mittels eines Python Scripts das 720p/60 Video der HD2 zu entzerren.
    Grundlage dazu war die Website -> http://www.htw-mechlab.de/index.php/und ... o-hd-hero2 und http://www.cbcity.de/opencv-mit-python-unter-windows-7


    Es funktioniert wirklich perfekt. Die Anleitung ist weiter unten! :) :)


    Nun ist sie perfekt, die HD2 :D


    5OhFUW5-pcU


    xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


    Okay, dann fang ich mal an:
    Ihr benötigt:
    Ein Tool eurer Wahl um die .mp4 Datei in eine avi umzuwandeln...
    (Xvid-Codec sollte auch installiert sein, falls nicht -> http://www.digital-digest.com/software/ ... id=0&did=1)


    Danach folgende Softwarepakete herunterladen:
    1. http://www.python.org/ftp/python/2.7.3/python-2.7.3.msi
    2. http://sourceforge.net/projects/opencvl ... e/download
    3. http://sourceforge.net/projects/scipy/f ... e/download
    4. http://sourceforge.net/projects/numpy/f ... e/download
    5. Das gopro HD2 Script (habe ich hier hochgeladen)
    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Die python.msi könnt ihr ganz normal via Doppelklick installieren. Das Installationsverzeichnis auf C:\Python27 belassen.
    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Danach öffnet Ihr die OpenCV.exe, diese entpackt sich von selbst. Im entpackten Verzeichnis von OpenCV im Unterordner \build\python\2.7 die Dateien cv.py und cv2.pyd kopieren.
    Diese in den Python-Ordner C:\Python27\Lib\site-packages einfügen
    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Im
    Anschluss die beiden letzten Programme installieren, ganz normal via
    Doppelklick. (Nach erfolgreicher Installation sollten sich im Ordner
    C:\Python27\Lib\site-packages die Ordner "numpy" und "scipy"
    befinden. Das sollte automatisch passiert sein)
    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Die gopro.zip entpacken und den Inhalt (gopro.py) in C:\Python27\Scripts kopieren.
    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Jetzt benennt ihr eure gopro12345.avi in fullvideo.avi um und kopiert diese ebenfalls in C:\Python27\Scripts


    Jetzt startet ihr den Vorgang mit nem Doppelklick auf gopro.py und nach einigen Minuten ist euer Video entzerrt. :) :)



    Viel Spaß
    Timm


    P.S.:
    Das Script ist ausschließlich für den 720p/60 Modus geschrieben. Andere
    Modi funktionieren nicht!... Wenn jemand so viel know how hat, ein
    Script für den / die 1080er Modi zu schreiben wäre ich demjenigen sehr
    dankbar :D ...

  • servus motocat,


    vorab auch ein Danke.
    habe alles installiert und ein Testvideo mp4->avi mit ca. 80MB durchlaufen lassen. leider ist das Ergebnis ein >4GB Video was nicht startet ?(
    welches "Komprimierungsprogramm" muß ich den, nach dem start über gopro.py, auswählen?


    danke für eine hilfreiche Antwort
    TheLoop


    Edit: nun hat es mit "Xvid MPEG-4 Codec" geklappt. das avi ist 10MB groß ABER . . . doch sehr an den Rändern beschnitten :S
    siehe Bild

    Die Mutter der Dummen ist immer schwanger 8-)

    Einmal editiert, zuletzt von TheLoop ()

  • Zitat

    welches "Komprimierungsprogramm" muß ich den, nach dem start über gopro.py, auswählen?


    Super, dass es bis dahin klappt! Am besten installierst Du den XVID Codec (sofern noch nicht vorhanden) -> XVIDWenn die Software Dich fragt, wählst Du diesen dann aus, aufkonfigurieren klicken und das 720HD Profil wählen.


    Habe zwei Bilder angehangen, da sieht man das ganz gut. Einstellungen kannst Du so übernehmen.


    Kannst Dich ja mal zurückmelden ob es geklappt hat!

  • Hab noch mal eben zum Vergleich den Startframe meines Youtube Videos gecaptured...
    Bei Dir ist wesentlich mehr beschnitten .... hmmmm....
    Okay, Du bist auch sehr nahe am Objekt, da fällt es eher auf...

  • Bei Dir ist wesentlich mehr beschnitten .... hmmmm....


    nee, das denke ich nicht. ich habe jetzt mal das ganze mit Deinen Einstellungen (in der Konfiguration) nochmal durchlaufen lassen. das passt schon so :thumbup:
    wenn ich mir auf Deinem Foto den Bereich der Gartenstühle anschaue, dann fehlt da auch ein ganz schöner Batzen ;-)

  • wenn ich mir auf Deinem Foto den Bereich der Gartenstühle anschaue, dann fehlt da auch ein ganz schöner Batzen ;-)

    Hey, Du hast Recht. Hab da gar nicht so drauf geachtet :thumbup:
    Aber ich denke auch das es so okay ist, der einzige Weg mit 60fps in HD aufzunehmen ohne Fisheye...
    Mich würde nur mal interessieren wieviel der 1080p narrow Modus eigentlich beschneidet :D ?!

  • @ motocat:


    danke für diesen nützliochen Beitrag! sicherlcih interessant, wenn man es "entzerren" möchte ;-)


    ich schreibe entzerren in Anführungszeichen, da dieses Verfahren zwar die "Krümmung" rausnimmt, dafür aber die Objekte, die wieter am Rand sind perspektivisch verzerrt! stelle spaßeshalber mal eine Person an den Rand, bzw schwenke die Kamera ein wenig mit einer Person am Rand, du wirst feststellen, dass sich das Gesicht in die Länge zieht, ähnlich eines Schattens, bei tief stehender Sonne!


    man treibt sozusagen den Teufel mit dem Belzebub aus ;-)
    entweder habe ich eine Krümmung, die schon dadurch entstehen muss, dass mehr Blickwinkel abgebildet wird, als "plan" darstellbar ist, oder ich habe ein "flaches" bild, was erzerrt...


    das Prinzip ist ähnlich der Kartographie -> nimm nen Globus und "schäle" die Landkarte ab, lege sie dann flach hin...das verzerrt auch, leider...


    zusätzlich kommt es zu einem drastischen Auflösungsverlust, da ein mittlerer Bereich ausgeschnitten und dann interpoliert wird.
    Die eh schon wenig hoch auflösende 720P Einstellung erscheint dann in guter 480p äquivalenter Quali ;-)


    GoPro verwendet bei den unterschiedlichen FOV Einstellungen ein anderes Verfahren.
    so werden beim 90° FOV, sprich "narrow" einfach nur die mittleren 1920x1080 Pixel ausgelesen, die restlichen Pixel des 11mp großen Sensors fallen somit weg.
    zwar erhöht sich so das bildrauschen ganz eklatant, aber die reelle Auflösung bleibt bestehen, ja ist aufgrund des nicht mehr nötigen Pixel-binnings sogar bisschen höher als im medium/ Wide FOV...


    hoffe das sind einige Aspekte die den Sachverhalt noch ein wenig näher erläutern,
    ansonsten schon ne coole Sache, nur wie gesagt mit einigen Einschränkungen


    Alex

  • Hey Alex84,
    schöne Ergänzung zur Thematik. Eine 'Rundumsorglos' Lösung gibt's natürlich nicht...
    Bin allerdings ein Freund davon, dass maximale aus der Hardware rauszukitzeln und eine Option mit mehr als 30 Frames ohne Fisheye auszunehmen gibt es bei der Cam leider nicht... ;(


    Alles in allem bin ich so schon ganz zufrieden mit der HD2 :-D

  • funktionierte leider bei mir irgendwie nicht! :/ zumindest nicht mit dvix codec 720p! Da hab ich dann immer einen Rand (ein drittel des Bildes) auf der rechten seite im video der noch verzerrter ist wie vorher :wacko:


    ich habs zwar schonmal in schlecher Auflösung mit 720p/25f hinbekommen aber mit 60frames gehts jetzt irgendwie nicht!!

  • Bei der Entzerrung des Fisheye benutze ich ProDrenalin. Das funktioniert sehr gut, auch mit HD 1080 24p in ProTune.


    Man muss nur das Profil Hero 2 1080 wide wählen und schon rechnet das Programm um. Das Ergebnis kann sich sehen lassen. Die Datenrate ist bei der Einstellung HIGH sogar höher als bei der Originaldatei. Für HD 720 ist ürigends auch ein Profil vorhanden.


    Allerdings funktioniert das nur bei 2D, denn bei 3D ergeben sich dynamische Höhendifferenzen der Teilbilder.