Jak kręcić skutecznie

Bartłomiej Siedlarz

Podczas realizacji zadań digitalizacyjnych prędzej czy później nastanie sytuacja, w której będziemy musieli obraz wyprostować. A jeżeli przygotowujemy materiał do automatycznego rozpoznania tekstu, będziemy obracać bardzo często. Istnieją opinie, że obroty złe, że interpolacja straszna, że problem i ogólnie niedobrze — spróbujemy to nieco odkręcić.

W książce dla początkujących (którą jak najbardziej początkującym polecam) uargumentowano sprawę dość drastycznie, jednak z lekką dozą zdroworozsądkowej utylitarności:

[…] z „purystycznego” punktu widzenia automatyczne prostowanie to zamach na oryginalną informację niesioną przez zeskanowany obraz. Po niewielkim nawet obrocie przeliczona jest od nowa wartość barwna i położenie każdego piksela obrazu, więc de facto mamy do czynienia jakby z in­nym obrazem. No ale warto zachować zdrowy rozsądek: nie każdy dokument jest wart tego, żeby się tak nad nim rozczulać. W zasadzie mało który jest tego wart.

Digitalizacja dla początkujących / Aleksander Trembowiecki. — Warszawa : Wydawnictwo Stowarzyszenia Bibliotekarzy Polskich, 2014.

Zamach — można to oczywiście zrobić to tak, że określenie tego kalibru będzie uzasadnione i czasem efekty takich operacji dostrzegam, gdy przeglądam zdigitalizowane dokumenty, niemniej sama procedura nie musi być aż taka straszna — i nie jest mocno destrukcyjna dla obrazu, o ile zadba się o kilka spraw przy przetwarzaniu. Autor tego fragmentu nawiązywał do automatycznego prostowania, jednak ma to także zastosowanie do każdej tego typu operacji bez względu automatyzację procesu.

Na czym właściwie polega problem

Aspekty to ma w zasadzie dwa: po pierwsze treść na obrazie jest krzywo — pragniemy, by była prosto, a zarazem powtórzyć pozyskania obrazu nie możemy lub nie jest to ekonomicznie sensowne; po drugie tego typu operacje bywają mocno stratne — nie chcemy jednak obrazu nadmiernie zniekształcać. O ile aspekt pierwszy jest oczywisty i dokładniej ilustrować go nie zamierzam, o tyle aspekt drugi objasnić należy, gdyż zniekształcenia spowodowane obrotem są niezwykle trudne do usunięcia w postprodukcji — często w ogóle nie jest to możliwe.

Najbardziej narażone na artefakty spowodowane skręcaniem są ostre obrazy o niskiej rozdzielczości oraz obrazy zaszumione. W przypadku skanów najczęściej mamy do czynienia z nieostrymi obrazami o dużej rozdzielczości, artefaktów więc zwykle przy pobieżnym oglądzie nie widać, jednak problem istnieje i jeżeli nie zajmiemy się nim na początku, może nam to pogorszyć obraz w dalszych fazach przetwarzania.

Animacja poniżej ukazuje obrót zaszumionego obrazu od 0 do 2 stopni.

unf

Pojawiają się widoczne artefakty. Wynikają one z tego, że obraz nie jest obracany w całości, lecz podzielony na fragmenty, z których każdy zostaje przekształcony osobno. Zniekształcenia geometrii kompensowane są przez wygładzenie fragmentów przy krawędziach poszczególnych obszarów.

Aby lepiej zilustrować działanie takiej operacji, możemy wykonać przekształcenie na obrazie zawierającym idealną siatkę (przykłady w dwukrotnym powiększeniu):

siatka-2st-bez-wygladzania

Po wykonaniu skrętu o 2 stopnie, wyraźnie widoczne są krawędzie obszarów użytych do zastosowania przekształcenia. Zawartość obrazu zostaje jednak widocznie naruszona, dlatego w większości filtrów skręcających kompensacja tego efektu jest domyślnie włączona. Jeżeli wykonamy przekształcenie z wygładzaniem otrzymamy taki obraz:

siatka-2st-z-wygladzaniem

Niewątpliwie jest to bardziej poprawne geometrycznie, aczkolwiek ostrość jest mocno niejednolita. Sytuacja nie jest jednak beznadziejna, istnieje sposób, dzięki któremu można to zrobić lepiej. Jak się okazuje, nawet nie jest skomplikowany.

Jak przekształcić dobrze

W związku z tym, że obraz źródłowy zostaje podzielony na mniejsze obszary, które dla filtra przetwarzającego są raczej stałej wielkości — może pomóc zwiększenie rozdzielczości. Powiększamy więc obraz przynajmniej dwukrotnie, oczywiście z wygładzaniem, następnie dokonujemy obrotu, a później zmniejszamy o odwrotność współczynnika powiększenia. Przykład z siatką po wykonaniu powyższych operacji wygląda tak:

siatka-2st-interpolowana-przed-rotacja

Geometria jest w miarę poprawna, nie ma już widocznej niejednolitości ostrości. Jedynym mankamentem jest delikatne rozmycie całości obrazu, jednak w porównaniu z poprzednimi metodami, efekt końcowy jest znacznie lepszy. Tak skręcony obraz możemy bez obaw wyostrzyć dowolnym filtrem wyostrzającym. Dla porównania możemy umieścić obok siebie animacje wykonane oboma sposobami i przyjrzeć się różnicom:

unfflt

Zastosowanie tej metody nie jest dziś szczególnie trudne. Raczej każdy przetwarzający dysponuje odpowiednią mocą obliczeniową oraz ma wystarczająco dużo miejsca do zapisu. Przetwarzanie w ten sposób trwa oczywiście dłużej, jednak w wielu wypadkach warto je wykonać. Nie trzeba się też nadmiernie obawiać przekształcania obrazów, jeśli działamy świadomie i dbamy o to, by nie stracić istotnych informacji, jesteśmy w stanie uzyskać niezłe wyniki, nawet gdy skany źródłowe nie są najlepszej jakości.