Korekce chromatické vady objektivu

Tento stručný tutorial vychází z anglického návodu Correcting Chromatic Aberration na stránkách projektu hugin.

Princip spočívá v rozložení RGB předlohy na jednotlivé kanály R, G a B a jejich vzájemnou optimalizaci – tj. výpočet korekce zobrazovací vady objektivu pro kanály R a B, zatímco G se považuje za výchozí. Samotná korekce chromatické vady je provedena programem fulla, který je součástí projektu hugin.

Postup v bodech

  • Jako výchozí obrázek je vhodné použít nepříliš barevnou scénu – osvědčily se mi snímky větví stromů v mlze, snímek by neměl být přeexponován a měl by být uložen v bezztrátovém formátu (TIFF, RAW).
  • Snímek v editoru (GIMP, CinePaint) rozložíme pomocí volby Decompose na kanály R, G a B a uložíme jako samostatné soubory red.tif, green.tif a blue.tif.
  • Soubory načteme do huginu v pořadí red, green, blue. Každému nastavíme nový objektiv (záložka „Camera and Lens“, označit soubor a kliknout na „New Lens“), zvolíme horizonální úhel pohledu „hfov“ 10° a v záložce „Stitcher“ nastavíme výstupní typ snímku „Rectilinear“ (stejně jako vstupní typ objektivu), úhel pohledu „hfov“ 10° a klikneme na „Calculate Optimal Size“.
  • Nyní v záložce „Control Points“ vytvoříme řádově stovky kontrolních bodů pro každý pár R-G, R-B a G-B. Lze použít klávesu „g“ a nastavit parametry „Corner Detection threshold“ 50, „Corner Detection scale“ 2).
  • Pozici bodů je nutné doladit pomocí funkce „Fine-tune“. Nejprve v preferencích (File/Preferences/Finetune) nastavíme parametry „Patch width“ 21, „Search area width“ 10, „Local search area width“ 14, „Correlation Threshold“ 0.8 a „Peak Curvature Threshold“ 0. Poté zvolíme menu Edit/Fine-tune all points.
  • Po skončení smažeme body, jejich korelační koeficient je menší než 0.98 (tj. chyba větší než 2 %). Seznam bodů zobrazíme pomocí klávesy F3 (menu View/Control Point table), zvolíme „Select by Distance“ s hodnotou -0.98 a stlačíme „Delete“. Tím pravděpodobně zmizí většina bodů, ale stále by jich mělo zbýt velké množství (alespoň stovky).
  • Nyní se přepneme na záložku „Optimizer“, nastavíme v rozvinovacím menu „Optimize the Custom parameters below“ a samotné parametry pro optimalizaci jsou pouze ty ze sekce „Lens Parameters“ – a to „view“ (v), „distortion“ (c). V případě nedobrých výsledků je možné optimalizovat i pro „distortion“ (a) a „barrel“ (b). Optimalizovat budeme pouze snímky red a blue.
  • Smažeme kontrolní body, které vykazují přílišnou vzdálenost opět tabulka „Control Point table“, kliknutím na „Distance“ je možné body seřadit dle vzdálenosti) a případě znovu optimalizujeme dle předchozího bodu. V ideálním případě je průměrná vzdálenost menší než 0.2.
  • V huginu uložíme projekt (File/Save As) – soubor projektu obsahuje optimalizované parametry pro korekci zobrazovací vady, které jsou výchozími údaji pro další postup.
  • Nyní je třeba spočítat parametry pro program fulla. Konkrétně parameter pro red a blue kanál. Výpočet je uveden na stánkách původního tutoriálu v angličtině Correcting Chromatic Aberration v části „Extracting TCA correction parameters“. Zdatnější si mohou nainstalovat Octave-forge (plus pár závislostí) a použít program show_tca.m, který parametry pro fulla spočte automaticky ze souboru projektu hugin uloženého dle předchozího bodu. („octave:2> show_tca(‚pano_projekt.pto‘);“)
  • A teď už jen stačí z příkazové řádky spustit:
    $ fulla -r 0.0000000:0.0000000:-0.0000040:1.0001860 \
    -b 0.0000000:0.0000000:0.0000790:0.9999760 \
    dsc_v1_at_4.9mm.tif

    kde r,b jsou opravné parametry pro příslušné kanály a dsc_v1_at_4.9mm.tif je původní snímek, pro který jsem počítal korekci.

Postup fungoval velmi dobře pro snímek pořízený zrcadlovkou Canon EOS 300D + EF 10-22 (použito 10 mm), zatímco pro snímek pořízený kompaktem SONY DSC-V1 s širokoúhlou předsádkou (efektivní ohnisková vzdálenost 4.9 mm) byl výsledek podstatně slabší (zdá se, že objektiv zobrazuje jednotlivé kanály spíše rozmazaně, než posunutě).

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Tato stránka používá Akismet k omezení spamu. Podívejte se, jak vaše data z komentářů zpracováváme..