Nieco ponad miesiąc temu, pojawił się film prezentujący możliwości jakie może dawać algorytm Seam Carving. Jego autorami są Shai Avidan, oraz Ariel Shamir, którzy pozwolili swoją wizję rozwijać innym. Tym samym chwilę potem, ukazała się bazująca na tymże algorytmie prosta demonstracja. Dobre pomysły nie znoszą długich oczekiwań na realizację. Dowodem na to jest aplikacja o nazwie Rsizr, która właśnie ujrzała światło monitorów.
Załaduj, zabezpiecz, usuń i sklaluj
Po załadowaniu dowolnego zdjęcia lub grafiki, ukaże się proste menu złożone z czterech zakładek. Pierwsza zakładka odpowiada za dodanie nowego zdjęcia, przywracanie już załadowanego do wersji oryginalnej, oraz zapisywanie. Druga pozwala na powiększenie i obrócenie obrabianej fotografii.
Najbardziej jednak w Rsizr interesują nas dwie pozostałe zakładki. Używając pędzelka preserve zakolorowujemy elementy obrazu, które chcielibyśmy zachować w nienaruszonej formie. Pędzelek remove służy natomiast do wskazania tych części które chcemy usunąć. Używanie pędzelków nie jest konieczne do przeskalowania obrazu, jednak w większości przypadków znacznie poprawi końcowy rezultat.

Nad zdjęciem i po jego lewej stronie, widoczne są dwa suwaki, którymi określamy zakres w którym zostanie zastosowany algorytm. Proponuje zacząć próby od niewielkich zdjęć (ewentualnie użyć opcji rescale w trzeciej zakładce) komputer ma bowiem trochę obliczeń do wykonania. Kiedy skończy się przetwarzanie informacji i nasz obraz przestaną przeszywać “ogniste pioruny”, możemy chwycić kursorem za kwadraciki na obrzeżach obrazu i skalować według uznania.
Testujemy
Wybrałem do testów fotografię, które łączy elementy krajobrazu z elementami znacznie trudniejszymi do przetworzenia. Czym więcej pojawia się na zdjęciu zakrzywionych linii, oraz półtonów i czym mocniej skalujemy tym trudniej o nienaganne efekty. Polecam też użyć przeglądarki Internet Explorer - w innych mogą występować jeszcze problemy.

W pierwszej kolejności po prostu zeskalowałem obraz o ok 50%, w wyniku czego otrzymałem niezbyt zachwycające karykatury. Odnoszę wrażenie, że algorytm rozpoznaje twarze bo praktycznie nie zostały one naruszone. Reszta ciał, jak widać, została potraktowana dość surowo.

Bez wskazania partii obrazu, które są dla nas ważne, nie możemy liczyć na zadowalające rezultaty. Przy zdjęciach krajobrazowych zniekształcenia drzew, czy chmur mogą być nierozpoznawalne, ale w przypadku ludzi czy architektury jest już inaczej. Zaznaczmy przykładowo pana, jako “świętą” część zdjęcia, a czerwonym pędzelkiem torebkę, której chcielibyśmy się pozbyć.

Po takim prostym zabiegu, rezultat wygląda całkiem inaczej. Po torebce nie ma (prawie) śladu, a “święta” część zdjęcia została nienaruszona i to mimo skalowania zarówno w pionie jak i w poziomie.

A grafik się cieszy
Oczywiście pierwsze pytanie jakie się nasuwa - czy to narzędzie można wykorzystać w profesjonalnych celach. Tak się składa, że właśnie przygotowuje prezentację na stronie internetowej, która wymaga panoramicznych zdjęć. Co gorsza, nie mam wyboru i mogę używać tylko konkretnych fotografii. W tej sytuacji zastosowanie Rsizr oszczędzi wiele czasu, dając nie gorsze efekty jakie uzyskałbym próbując “wyciągać” zdjęcia na różne sposoby.

To pierwsza i jak na razie jedyna, w pełni funkcjonalna aplikacja na bazie algorytmu Seam Carving. To co widzieliśmy kilka tygodni temu na prezentacyjnym filmie video, zamieniło się szybko w namacalne narzędzie. Co zatem będzie za kilka następnych tygodni? Co powiecie na Rsizr używany z dotykowym ekranem, gdzie paluszkiem wymazujemy niedobrego kolegę z grupowego zdjęcia. Wszystko to wsparte systemami detekcji twarzy, uśmiechów i wbudowane w nasze fotograficzne aparaty. Oczywiście zagnieżdżone w komórce.









Jest też pod GIMP-a pod adresem http://liquidrescale.wikidot.com/. Nawet działa. Nie ma wizualizacji każdego kroku, ani podglądu, ale całkiem znośnie działa. No i ma cztery różne algorytmy - jeszcze ich nie rozpracowałem. :)