Do napisania tego tekstu zainspirował mnie artykuł na stronie Luminous Landscape. W artykule opisano metodę wyostrzania obrazu z pomocą filtra górnoprzepustowego. Ciekawość zmusiła mnie do zastanowienia się dlaczego takie rozwiązanie działa.
Opisana metoda jest prosta. Oto przepis na wyostrzanie z Luminous Landscape.
Gotowe. Jak widać, to działa, choć jak zaraz pokażę, rozumiejąc zasadę można uzyskać nieco ciekawsze efekty.
Całkiem niedawno w artykule o czytaniu wykresów [[MTF]] opisałem dokładniej zagadnienia związane z ostrością. Ostrość, to lokalna zmiana kontrastu. Im większa amplituda zmiany jasności i im bardziej strome zbocze tej zmiany, tym ostrzejsza krawędź. Algorytmy wyostrzania zwiększają dynamikę zmiany lokalnego kontrastu – zwiększają stromiznę zbocza.
Filtr Unsharp Mask, jedno z najefektywniejszych narzędzi służących wyostrzaniu obrazu „wyszukuje” obszary w których zmienia się kontrast, a następnie podbija lokalną różnicę między ciemnymi i jasnymi partiami obrazu. Parametr „Radius” określa promień wokół którego wyszukiwane są lokalne zmiany jasności. Parametr „Amount" określa siłę wzmocnienia różnic między walorami. „Threshold” ogranicza działanie filtra. Jeżeli różnica między jasnymi i ciemnymi partiami obrazu jest mniejsza od wartości pola „Threshold”, filtr nie działa. Zabezpiecza to przed wzmacnianiem kontrastów na gładkich powierzchniach (np. błękit nieba czy tafla wody).
Metoda ostrzenia z pomocą filtra górnoprzepustowego to Unsharp Mask zrobiony „na piechotę”.
Warstwa przepuszczona przez filtr górnoprzepustowy prezentuje informację o zmianach kontrastu. Na obszarach, gdzie jasność zmienia się niewiele, obraz jest neutralnie szary, obszary odpowiadające za ostrość zachowują różnice waloru. Wartość „Radius” określiła promień poszukiwania zmian jasności – częstotliwość przestrzenną. Nowa warstwa jest „mapą” miejsc ostrych na obrazie.
Tryb łączenia przefiltrowanej warstwy z tłem „Hard light” rozjaśnia obszary tła, w których warstwa filtrowana jest jaśniejsza od 50% szarości i przyciemnia tam, gdzie warstwa jest ciemniejsza od 50% szarości. Dzięki temu uzyskiwany jest efekt zwiększenia kontrastu lokalnego.
Zalecana na Luminous Landscape wartość „Radius” równa 10 przyprawiła by o palpitację każdego doświadczonego użytkownika filtra Unharp Mask. Tak duża wartość promienia powoduje powstawanie bardzo wyraźnych halo, wokół krawędzi. Rozsądniej jest używać wartości z zakresu 0.1-3 piksele
Popatrz na wyniki działania filtra Unsharp mask i ostrzenia Highpass dla tej samej wartości parametru „Radius”. Prawda, że efekt wygląda podobnie?



Obie metody działają praktycznie identycznie. O wiele mniej pracy wymaga wykonanie Unsharp Mask, dlaczego więc piszę o filtrze Highpass i o wyostrzaniu z jego pomocą?




Filtr highpass "zaznacza" obszary o podwyższonej ostrości. Mając to na uwadze, można go wykorzystać również do innych zadań. Można skorzystać z filtra przy wygładzaniu skóry, do utworzenia maski ostrości. Można kombinować z selektywnym zmiękczaniem i setkami innych rozwiązań, które akurat nie przychodzą mi teraz do głowy.