GoPro lens correction with ImageMagick

GoPro HD Hero kamera je zaradi svojih zmogljivosti in robustnosti zelo primerna za snemanje raznoraznih neumnosti na kolesu, motorju, na in pod vodo, na snegu in v zraku. Skupaj z raznoraznimi pritrdilnimi pripomočki ima neomejeno možnosti, kvaliteta posnetkov pa je naravnost navdušujoča.

Vendar je težko imeti vse idealno. Majhno, kompaktno, robustno, širokokotno pač zahteva svojo ceno. In pri GOProju je to deformacija slike, ki je ob izbiri primernega motiva zelo očitna. Sam sem se odpravil do ograje bližnjega vrtca in naredil naslednji posnetek.

Originalni posnetek

Na besedo mi lahko verjamete, da gre za ograjo ravnih linij, pa tudi linije stavbe so navpične in vodoravne, čeravno moja postavitev kamere ni bila ravno vodoravna.

Iskanje pri prijatelju googlu ni ravno obrodilo sadov. Nekateri so videe reševali v naprednih programih za obdelavo videa, kjer do uporabili “fish eye” efekt z negativnimi parametri, vendar nisemnašel nič konkretnega. Zato sem šel pogledat kaj ponuja ImageMagick, ki je čarovnik za delo s slikami v ukazni vrstici. Kot nalašč torej za raznorazne paketne obdelave.

In res, ImageMagick pozna tudi Barrel Distortion (correcting lens distortions). Po pravici povedano, se v samo teorijo nisem spuščal. 4 parametre ima (primer: -distort Barrel “0.0 0.0 -0.075 1.1”).

Prvi poiskus je šel z parametri, ki so iz primera na njihovi strani in se mi je zdel še najbolj primeren.

-distort Barrel "0.0 0.0 -0.2 1.3"

No je že boljše. Še malce okrepimo efekt.

-distort Barrel "0.0 0.0 -0.3 1.35"

Še ni dovolj, navijmo ga še malo.

-distort Barrel "0.0 0.0 -0.4 1.5"

Skorajda idealno. Po še malce poiskusih, sem na koncu pristal pri naslednji konfiguraciji.

-distort Barrel "0.0 0.0 -0.42 1.52"

Verjetno se bi dalo še izboljšati, sploh, če bi prilagajali parametre posebej za x in y os, ampak meni se to zdi že zelo ok. Sedaj samo še odrežemo zgornjo in spodnjo črnino, in smo na konju.

-distort Barrel "0.0 0.0 -0.42 1.52" -shave 0x6.7%

Seveda sem tudi teh 6,7% “britja” v vertikalni smeri dobil z metodo poiskusov in napak. Je že kar precej od kar sem bil z matematiko v takšnem odnosu, da sem kaj takšnega zračunal iz veselja.

Seveda bom pa vesel, če bo to telovadbo kdo opravil namesto mene, in mi postregel z izračunanimi koeficienti. Lahko pa jih seveda določa tudi na roke. Obeh bom vesel, če bodo le delovali bolje od mojih :-))