Adobe Photosop CS4 – Content-Aware Scale w praktyce
Prezentowany obszerny fragment artykułu pochodzi z magazynu .PSD
Pośród wielu nowości dostępnych w najnowszej wersji Adobe Photoshop CS4 z pewnością łatwo odnaleźć funkcję Content-Aware Scale (Ctrl+Alt+Shift+C lub Cmd+Alt+Shift+C na komputerze Macintosh).
Jest to całkowicie nowe i doprawdy rewolucyjne narzędzie skalowania obrazów o znany już od pewnego czasu algorytm zwany Seam Carving. W tym przykładzie przeanalizujemy jak implementacja narzędzia Content-Aware Scale w programie Photoshop CS4 działa w praktyce, oraz zastanowimy się w jaki sposób dotrzeć do maksymalnych możliwości z tego narzędzia.
Troszkę historii – Seam Carving
Seam Carving został zaadoptowany w programie Photoshop CS4 pod nazwą Content-Aware Scale. Jest to algorytm przekształcania wielkości obrazu opracowany przez Shaia Avidana i Ariela Shamira,y na podstawie mapy energetycznej obrazu. Seam Carving w przeciwieństwie do tradycyjnych narzędzi skalowania (powiększania lub pomniejszania) nie deformuje obrazu w oparciu o przekształcenia matematyczne, kadrowanie czy odcinanie, ale bierze pod uwagę jego zawartość.
Algorytm buduję mapę energetyczną istotnych lub mniej istotnych obszarów obrazu i na ich podstawie dokonuje dalszych działań. Dzięki dodawaniu lub usuwaniu pikseli należących do tej samej fali energetycznej (seam), możemy uzyskać fantastyczne efekty działania.
W rezultacie, wykorzystanie polecenia Content-Aware Scale w programie Adobe Photoshop CS4 pozwala na niemal bezstratne skalowanie wybranych (tak nawet my możemy wskazać obszary jakie chcemy chronić lub poddać edycji) obszarów pracy z zachowaniem nienaruszonej struktury pozostałych detali. Jak to działa w praktyce? Postaram się wyjaśnić na podstawie kilku prostych przykładów.
Istota użycia narzędzia jest niezwykle prosta. Zaznaczamy odpowiednią warstwę, którą chcemy podać edycji, a następnie za pomocą narzędzia Content-Aware Scale wykonujemy stosowane przekształcenia (powiększanie lub pomniejszanie obrazu). Już w pierwszej chwili widać jak niesamowite możliwości przynosi użycie nowej funkcji programu.
Tam, gdzie konieczne jest przykładowo przekształcenie pionowej fotografii w poziomą, tam, gdzie brakuje nam odpowiedniego tła, możemy pokusić się o przeskalowanie całej pracy wykorzystując algorytm Seam Carving – czyli właśnie polecenie Content-Aware Scale.
Dodawanie tła do fotografii
Pierwszy przykład – dodawanie tła do istniejącej fotografii wykonamy w bardzo prosty sposób. Rozpoczynamy od powielenia oryginalnej warstwy obrazu. W tym celu, bezpośrednio po otwarciu grafiki za pomocą polecenia Ctrl+J lub Cmd+J na komputerach Macintosh przenosimy oryginalne tło pracy na nową warstwę.
Jest to konieczne, ponieważ podobnie jak w przypadku innych przekształceń obrazu konieczne jest użycie warstwy. Nie ma możliwości skalowania oryginalnego tła pracy.
W przypadku dodawania nowego tła konieczne jest rozszerzenie obszaru roboczego naszej pracy. W tym celu wywołujemy polecenie Image>Canvas Size (Ctrl_Alt+C lub Cmd+Alt+C) na komputerach Macintosh) i dodajemy dodatkowy obszar naszej pracy. Oczywiście ustawienia w oknie Canvas Size dobieramy odpowiednio do efektów jakie chcemy osiągnąć.
Jeśli główny obiekt znajduje się w centralnej części zdjęcia i chcielibyśmy dodać nowe obszary tła zarówno z lewej jak i prawej strony, pozostawiamy pole Anchor w środkowym położeniu. W ten sposób dodatkowe obszary naszej pracy zostaną dodane po obu stronach oryginalnej fotografii.
Jeśli jednak zależy nam by dodać nowe tło jedynie po prawej stronie, przenosimy pole Anchor na lewą stronę. W rezultacie dodatkowe tło zostanie dodane jedynie po prawej stronie.
W naszym przypadku pokusimy się o dwukrotne powiększenie rozmiaru naszej pracy. Pozwoli to w pełni docenić możliwości narzędzia. Dzięki technologii Seam Carving rozciąganie naszej pracy odbędzie się w całkowicie inteligentny sposób. Program rozpozna strukturę dokumentu i na tej podstawie zdecyduje, które obszary obrazu mają być powielane, które zaś pozostaną bez zmiany.
Zaznaczamy górną warstwę i za pomocą polecenia Edit>Content-Aware Scale (Ctrl+Alt+Shift+C lub Cmd+Alt+Shift+C na komputerze Macintosh) wywołujemy polecenia Content –Aware Scale. Istota jego użycia jest niezwykle prosta.
Po prostu, chwytamy jeden z dostępnych uchwytów i powiększamy lub pomniejszamy rozmiar warstwy.
W tym przykładzie. Chwytamy prawy, środkowy uchwyt kontrolny i rozciągamy pracę aż do krawędzi obrazu. W ten sposób oraz został dwukrotnie rozciągnięty w swej szerokości. Jakie zmiany przyniosło takie działanie?
Już od pierwszej chwili widać niesamowite możliwości jakie oferuje nowa funkcja Content-Aware Scale. W rezultacie nawet tak znacznego powiększenia pracy edycji uległy przede wszystkim elementy jej tła. Główny obiekt pozostał niemal bez zmian. I to jest naprawdę niesamowite.
Dla osiągnięcia tego efektu posłużyłem się niewielkim trikiem, ale o tym w dalszej części.
Przekształcamy pionowe zdjęcie w poziome
Całkiem w podobny sposób możemy łatwo przekształcić pionowe zdjęcie w jego poziomy odpowiednik. Także w tym przypadku przenosimy oryginalną prace na nową warstwę (Ctrl+J lub Cmd+J), powiększamy obszar roboczy (Canvas Size) i za pomocą narzędzia Content-Aware Scale (Ctrl+Alt+Shift+C lub Cmd+Alt+Shift+C) modyfikujemy jej zawartość. W rezultacie pionowe ujęcie przekształcone zostaje w poziome zdjęcie i to działa!
Przykład jaki przedstawiłem wcześniej, doskonale oddaje istotę tego procesu. Ewidentnie pionowe ujęcie, dzięki przekształceniu zawartości stało się poziome i wciąż wygląda całkiem dobrze. Ciekawe co na to modelka ze zdjęcia?
Pomniejszanie zdjęć – przekształcanie poziomej fotografii w pionową
Początkowo narzędzie Seam Carving planowane było jako inteligentny algorytm pomniejszania obrazu, z czasem adoptowany został także do powiększania. Jak zatem działa to w praktyce.
Podobnie jak we wcześniejszych przykładach, zawartość pracy jaką chcemy poddać edycji przenosimy na nową warstwę.
Wywołujemy polecenie Edit>ContentAware Scale i za pomocą uchwytów kontrolnych pomniejszamy ją. W rezultacie, zbędne elementy tła zostają usunięte a centralne postacie pozostają bez zmian – działa to naprawę rewelacyjnie.
Zdecydowanie widać, że nawet bez dodatkowych trików, Content-Aware Scale doskonale sprawdza się szczególnie podczas pomniejszania.
Są jednak sytuacje, gdy algorytm narzędzia Content-Aware Scale nieco się gubi. Wtedy konieczne jest dodanie maski – kanału alfa, który pozwoli na ochronę wybranych (przez nas) obszarów. Zabieg ten wykorzystałem podczas skalowania postaci na ulicy. Użycie maski doskonale zabezpiecza pracę przed przypadkowym zniekształceniem.
Wybór obszarów do edycji – maska z kanału Alpha
Narzędzie Content-Aware Scale dokonuje przekształcenia obrazu na podstawie mapy energetycznej. Algorytm automatycznie określa które obszary można łato skalować, które należy pozostawić bez edycji. Niestety, takie podejście nie zawsze daje zadowalające rezultaty.
Dotyczy to w szczególności obszarów o jednolitym zabarwieniu. Jeśli program odnajdzie takie fragmenty na głównym obiekcie naszej fotografii, z pewnością podda jej edycji. W tym jednak przypadku nie takie było nasze oczekiwanie. Warto więc zastanowić się w jaki sposób możemy chronić wybrane, istotne elementy pracy przed niezbyt poprawnym przekształceniem.
Odpowiedzią na ten problem okazują się dwa dodatkowe narzędzia dostępne na górnym pasku właściwości Photoshopa CS4. Użycie opcji Preserve skin tones, pozwala zachować bez dodatkowej edycji obszaru zbliżone do koloru skóry człowieka.
W rezultacie postacie, twarze, elementy ciała pozostają chronione i program w nieco mniejszym zakresie poddaje je edycji. Nawet wówczas, gdy mamy do czynienia z jednolitym kolorem. Niestety także ten mechanizm nie daje oczekiwanych rezultatów. Czasami trudno jest znaleźć odpowiedni kolor skóry, czasami po prostu nie ma takich detali. Jak możemy więc chronić ważne elementy obrazu przed przypadkową edycją?
Tu odpowiedzią okazuję się użycie dodatkowego kanału Alpha. Obszar zamaskowany pozostaje całkowicie bez edycji, pozostałe fragmenty obrazu poddane są edycji na podstawie standardowego algorytmu Content-Aware Scale. Działa to po prostu rewelacyjnie.
Dodajemy kanał Alpha zabezpieczający naszą pracę przed przypadkową edycją
Najprostszym sposobem oznakowania obszarów jakie chcemy pozostawić bez edycji jest użycie zaznaczenia. Za pomocą dowolnego narzędzia selekcji (np. Marquee Tool) zaznaczamy (najlepiej) pionowy lub poziomy obszar na całą szerokość lub wysokość obrazu jaki chcemy pozostawić w oryginalnej formie.
Następnie przechodzimy do palety Channels (Window >Channels) i za pomocą przycisku Save Sellection as Channel dodajemy nowy kanał w pracy.
Tak przygotowany kanał, utworzony na podstawie przygotowanej selekcji to właśnie kanał Alpha, który możemy później wykorzystać podczas edycji obrazu za pomocą Conent-Aware Scale.
Uwaga!
W zależności od konfiguracji palety Channels a także metody zaznaczenia może okazać się, że chroniony obszar prezentowany jest w kolorze czarnym zaś pozostałe są białe. Tego typu kanał działa dokładnie odwrotnie i zamiast chronić wybrany fragment edytuje go pozostawiając bez edycji obszary tła. Wymaga to drobnej edycji.
Nie jest to trudne, za pomocą skrótu Ctrl+I lub Cmd+I na Macu tworzymy negatyw obrazu co automatycznie zamieni kolory miejscami W rezultacie obszar maski staje się biały pozostałe obszary czarne. W tej postaci, dodatkowy kanał alfa jest już doskonałą maską zabezpieczającą naszą pracę przed niechciana edycją.
Aby aktywować kanał jako maskę zabezpieczająca naszą pracę przed niechcianą edycją musimy skorzystać z dodatkowej opcji – Protect dostępnej na górnym pasku właściwości.
Dalsze działania nie odbiegają od tradycyjnych metod użycia narzędzia Content-Aware Scale. Wybrany obszar przenosimy na osobną warstwę skrótem Ctrl+Alt+Shift+C lub Cmd+Alt+Shift+C wywołujemy narzędzie edycji – Edit>Content-Aware Scale. Teraz właśnie uruchamiamy na górnym pasku funkcję Protect i wskazujemy utworzony kanał Alpha jako maskę.
Za pomocą dostępnych uchwytów powiększamy lub pomniejszamy obraz i potwierdzamy ustawienia (klawisz Enter). W rezultacie obszary chronione maską (kanał alfa) nie zostają poddane edycji, zaś te niezamaskowane są w inteligentny sposób powielane lub usuwane. Jak widać daje to naprawdę niesamowite efekty.
Dodajemy spady do obrazu
Narzędzie Content-Aware Scale doskonale sprawdza się także na etapie przygotowywania gotowej już pracy pod kątem druku. Niestety, wielu projektantów podejmując się przygotowania pracy o konkretnym rozmiarze, zapomina o cięciu i spadach. W rezultacie jakże często prace tworzone przez mniej doświadczonych designerów nie mają odpowiedniego marginesu pozostawionego do cięcia.
Dzięki użyciu Content-Aware Scele możemy łatwo ten problem rozwiązać. Tam bowiem, gdzie ze względu na kształt projektu, niemożliwe jest proste jego powiększenie, użycie tej nowej funkcji sprawdza się doskonale.
Pełen tekst dostępny jes w magazynie .PSD ze stycznia 2009 roku.










Z pierwszą fotką wyszło mi coś takiego:
Prawą połowę dziewczyny program zniekształcił bardzo umiarkowanie, natomiast lewą rozciągnął dwukrotnie. Co zrobiłem nie tak?
Dodałbym zrzut ekranu, ale jestem tu pierwszy raz i nie widzę jak to sie robi.
Przepraszam, ale chyba strzeliłem bawoła. Po prostu trzeba było czytać do końca. Pozdrawiam.
Dodaj komentarz
Musisz się zalogować by dodać komentarz.