Doc. dr inż. Jacek Jarnicki Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej jacek.jarnicki@pwr.wroc.pl Inżynieria obrazów cyfrowych Ćwiczenie 7 GIMP zarządzanie kolorem, tekst na obrazie Celem ćwiczenia jest pokazanie możliwości zastosowania programu GIMP do pracy z obrazem barwnym. Rozważane będą następujące zagadnienia: poprawianie jakości obrazu fotograficznego, tryby obrazu i ich wzajemne konwersje, nanoszenie na obraz tekstów. 1. Poprawianie jakości obrazu Narzędzia do poprawiania jakości obrazu kryją pozwalają na poprawiane obrazów fotograficznych w zakresie jaki sobie na pierwszy rzut oka trudno nawet wyobrazić. Oczywiście nie można przy ich pomocy uwidocznić treści, których w obrazie w oczywisty sposób nie ma, bowiem zostały zniszczone na przykład przez złe naświetlenie. Jednak w wielu przypadkach zabiegi korekcyjne pozwalają na prawie całkowite wyeliminowanie efektów błędów ekspozycji popełnionych przy wykonywaniu zdjęcia, czy efektów złego oświetlenia. Poniższy przykład pokazuje jak przy pomocy kilku prostych operacji można w znacznym stopniu pooprawiać jakość źle naświetlonego zdjęcia. Przykładowa procedura poprawy jakości obrazu fotograficznego Należy poprawić zdjęcie pokazane na rysunku 6. Jak łatwo zauważyć zdjęcie nie jest idealne. Widać wyraźnie niebieską dominantę barwną. Zdjęcie jest także trochę nieostre.
Rys. 1. Obraz oryginalny Można spróbować poprawić obraz wykonując następująca procedurę. Wczytać obraz źródłowy z pliku Foto_1.jpg Wykonać polecenie Narzędzia, Narzędzia kolorów, Poziomy i ustawić Poziomy wejściowe na około 1.15 do 1.20 cały czas obserwując efekt wykonywanej zmiany. Zaakceptować wybór przez naciśniecie przycisku OK Usunąć błękitną dominantę barwną wybierając Narzędzia, Narzędzia kolorów, Balans kolorów i ustawiając suwak Żółty Niebieski na około -30. Wykonać polecenie Narzędzia, Narzędzia kolorów, Odcień i nasycenie i zmienić nasycenie na około 20. Przy pomocy polecenia Narzędzia, Narzędzia kolorów, Jasność i kontrast poprawić w najlepszym stopniu oba parametry. Poprawić jeszcze bardziej obraz stosując jeden z bardzo wielu dostępnych algorytmów filtracji np. Filtry, Uwydatnianie, Wzmocnienie. Przetworzony obraz pokazano na rysunku 2.
Rys. 2. Obraz poprawiony Oczywiście zaprezentowana powyżej procedura nie jest obligatoryjna, porządkuje jednak tok postępowania i warto ją zapamiętać. Narzędzia kolorów oferują jeszcze wiele innych możliwości kształtowania obrazu, jednak optymalne ich wykorzystanie nie jest wcale łatwe. Stosowania narzędzi do kształtowania koloru można się nauczyć jedynie przez samodzielne eksperymenty z różnym obrazami. Dla posumowania niniejszego punktu proponuje się powtórzyć wykonane zadanie bez instrukcji. 2. Tryby, konwersje pomiędzy trybami W programie GIMP wyróżnia się trzy tak zwane tryby, które odpowiadają trzem rodzajom obrazów rozważanych w ćwiczeniu 2. W polskiej wersji programu noszą one nazwy: RGB Odcienie szarości Indeksowany Pierwszy tryb służy kodowania obrazu z wykorzystaniem modelu barw RGB, drugi Odcienie szarości ma zastosowanie w przypadku obrazów monochromatycznych, natomiast tryb indeksowany pozwala po konwersji obrazu do zapisu indeksowego, na manipulowanie paletą barw przez jej edycję i wymianę.
Zmiana trybu zapisu obrazu Po wczytaniu obrazu, znajduje się on w takim trybie, jaki wynika z informacji umieszczonej w pliku, w którym był on zapisany. Dla przykładu po wykonaniu (tak jak w poprzednim ćwiczeniu) poleceń Plik, Otwórz,, Foto_2.jpg, pojawi się okno z odczytanym obrazem (rys. 3) a na jego głównej belce, po nazwie pliku i rozdzielczości, wypisany zostanie tryb. W tym przypadku jest to tryb RGB, czyli każdy piksel obrazu opisy jest przy pomocy trzech liczb określających jago barwę według modelu kolorów RGB. Rys. 3. Obraz barwny w trybie RGB Zamiana z trybu RGB na Odcienie szarości jest prosta. Należy wykonać polecenia Obraz, Tryb, Odcienie szarości i obraz barwny zostanie zamieniony na monochromatyczny. Obraz po konwersji można zapisać do pliku w wybranym formacie. Oczywiście po odczytaniu zapisanego do pliku obrazu monochromatycznego, ponowne przywrócenie postaci kolorowej nie będzie już możliwe, bowiem w procesie konwersji informacja o kolorze została utracona. Można oczywiście przeprowadzić konwersję z obrazu monochromatycznego na obraz zapisany w trybie RGB przy pomocy poleceń Obraz, Tryb, RGB. W tym przypadku obraz na ekranie pozostanie nadal monochromatyczny, ale w zapisie zakodowany zostanie jako obraz w trybie RGB. Każdy punkt takiego obrazu opisany będzie przy pomocy trzech liczb określających zawartości trzech kolorów podstawowych, tyle że liczby te dla każdego piksela będą równe. Bardziej interesującym przypadkiem jest konwersja wykorzystująca tryb indeksowany. W tym przypadku obraz po konwersji zapisany zostanie przy pomocy dwóch tablic, tablicy kolorów zwanej paletą i tablicy indeksów opisujących przypisanie kolorów z palet do pikseli obrazu (patrz ćwiczenie 2). Aby przekształcić obraz barwny zapisany w trybie RGB na obraz indeksowany trzeba wydać polecenia Obraz, Tryb, Indeksowany po czym ukaże się okienko takie jak na rysunku 4.
Rys. 4. Okno konwersji do trybu indeksowanego Możliwości wyboru jest jak widać dość dużo, można wygenerować optymalną paletę kolorów przy pomocy wbudowanego algorytmu. Można użyć palety zoptymalizowanej dla potrzeb stron WWW i wreszcie można wykorzystać dowolną paletę np. pobraną z innego obrazu i zapisaną w odpowiednim pliku. Maksymalna liczba kolorów wygenerowanej przez algorytm palety może wynosić 256. Użyte w części okna dotyczącej wyboru algorytmu słowo Dithering (rozsiewanie, rozpraszanie) oznacza sposób przybliżania zbioru większej niż ma się do dyspozycji liczby kolorów mniejszą ich liczbą, przez odpowiednie rozrzucenie na obrazie punktów w dostępnych kolorach. Program GIMP oferuje trzy algorytmy ditheringu. Można przeprowadzić próby konwersji obrazu z trybu RGB na tryb indeksowany obserwując za każdym razem jak zmienia się obraz oraz jak wygląda wygenerowana przez program paleta kolorów. Paletę można zobaczyć po wykonaniu poleceń Okno dialogowe, Paleta kolorów w okienku Paleta kolorów. Kolory palety można edytować na ogólnych zasadach dotyczących zmiany kolorów. Wykorzystanie palety do kolorowania obrazu monochromatycznego Zadanie do wykonania w tym punkcie jest dość specyficzne i polega na symulacji techniki stosowanej jeszcze kilkadziesiąt lat temu, w czasach gdy nie była znana fotografia barwna. Zdjęcia czarno- białe (wykonane na papierze matowym) podbarwiano przy pomocy kredek pasteli, otrzymując niekiedy bardzo estetyczne obrazy kolorowe. Efekty zależały oczywiście od umiejętności wykonawcy. Obecnie podobny proces można przeprowadzić nie przy pomocy kredek a programów graficznych. Funkcjonują na rynku firmy zajmujące się usługami tego typu. Pokolorowanie jednego zdjęcia kosztuje kilkadziesiąt złotych.
Proces kolorowania zdjęcia przeprowadza się w trzech etapach. Po pierwsze, trzeba przewidziany do kolorowania obraz czarno-biały przekonwertować do trybu RGB. Po drugie, należy wyszukać obraz barwny o odpowiedniej kolorystyce, zapisać go w trybie indeksowanym i pobrać wygenerowaną w ten sposób paletę barw. W ostatnim, najtrudniejszym etapie trzeba używając wybranych kolorów z uzyskanej w kroku poprzednim palety barw trzeba pokolorować ręcznie obraz czarno-biały przy pomocy narzędzi do malowania np. pędzla. Etap trzeci wymaga pewnego doświadczenia, znajomości opcji i własności narzędzi. Efekt może być mniej więcej taki jak pokazano na rysunku 5. Rys. 5. Obraz oryginalny i pokolorowany Wykonanie pierwszego kroku, czyli uzyskanie z obrazu kolorowego obrazu czarnobiałego jest proste. Wystarczy otworzyć obraz Lena_color_256.tif i przekonwertować go na obraz w odcieniach szarości wykonując polecenia Obraz, Tryb, Odcienie szarości. Do dalszej pracy potrzebny będzie jednak obraz monochromatyczny ale zapisany w trybie RGB. Żeby taki obraz uzyskać wystarczy przeprowadzić ponowną konwersję przy pomocy poleceń Obraz, Tryb, RGB. Etap drugi polegający na pobraniu palety jest trochę bardziej skomplikowany. Na początku należy wyszukać obraz o odpowiedniej kolorystyce. W niniejszym przykładzie proponuje się jako źródło do pobrania palety obraz znajdujący się w Internecie pod adresem: http://www.rijksmuseum.nl/aria/aria_assets/sk-a- 4943?lang=en&context_space=aria_catalogs&context_id=Term_00026115_en Po obejrzeniu obrazu trzeba go zapisać i otworzyć przy pomocy programu GIMP a następnie: Zamienić obraz na indeksowany. Zobaczyć jak wygląda paleta, wykonując polecenia Okno dialogowe, Paleta kolorów. Powinna ona wyglądać tak jak na rysunku 6.
Rys. 6. Paleta kolorów pobrana z przykładowego obrazu Kolejne czynności mają na celu zapisanie utworzonej palety, w tym celu należy: Wykonać polecenia Okno dialogowe, Palety. Przy naciśniętym prawym klawiszu myszy wybrać opcję Importuj Paletę, zaznaczyć pole Obraz co spowoduję, że paleta będzie pobrana z bieżącego obrazu i nacisnąć przycisk Importuj. Pobraną paletę należy zapisać na liście palet pod jakąś unikalną nazwą. Ostatni etap polega na pokolorowaniu obrazy czarno białego zapisanego w trybie RGB kolorami z pobranej palety. Należy więc ponownie otworzyć obraz czarno-biały i zaimportowaną przed chwil paletę, a następnie używając narzędzi do malowania pokolorować obraz. Kolorowanie dobrze jest wykonywać na nowej warstwie. Podstawowym narzędziem do kolorowania będzie pędzel. Malując pędzlem należy dobierać końcówkę (Pędzel), Krycie, Czułość nacisku i inne parametry, tak aby uzyskać najlepszy efekt. Przy malowaniu wygodnie jest także posłużyć się innymi narzędziami do edycji obrazu służącymi do: - wypełniania kolorem lub deseniem - rysowania ołówkiem - wymazywania gumką - napylania aerografem - rysowania stalówką - rozmazywania i wyostrzania - rozsmarowywania palcem - rozjaśniania lub wypalania Ewentualne błędy można zawsze poprawić wracając do poprzedniego stanu przy pomocy
sekwencji poleceń Edycja, Cofnij lub Edycja, Historia operacji. Szczególnie należy zwrócić uwagę na tę drugą możliwość. 3. Tekst na obrazie Program GIMP oferuje podstawowe operacje do nanoszenia na obraz tekstu. Nie jest ich tak dużo jak w programie Adobe Photoshop jednak pozwalają na dość łatwe i szybkie tworzenie nieskomplikowanych kompozycji tekstowych. Do umieszczania na obrazie tekstu służy narzędzie do pisania tekstów oznaczone w głównym oknie programu jako. Pisanie tekstu na obrazie Pisanie tekstu na obrazie nie jest trudne. Należy wykonać je tak: Wczytać obraz źródłowy z pliku np. Foto_2.jpg W głównym oknie programu wybrać narzędzie do pisania i w oknie narzędzia ustawić wszystkie potrzebne parametry tekstu, czyli Czcionkę, Rozmiar, Kolor, formatowanie itd W oknie obrazu ustawić kursor myszki mniej więcej tam gdzie ma zostać wpisany tekst i kliknąć myszką. Na ekranie pojawi się okno Edytor tekstowy programu GIMP. W oknie edytora wpisać odpowiedni tekst i zaakceptować przez naciśnięcie przycisku Zamknij. Wykonać polecenie Okno dialogowe, Warstwy i sprawdzić co się stało na liście warstw. Podobnie jak poprzednio spróbować napisać kolejny tekst i znów sprawdzić listę warstw. W oknie głównym wybrać narzędzie do przesuwania warstw i zaznaczeń i przesunąć napisane teksty we właściwe miejsce. Należy pamiętać aby w oknie opcji narzędzia do przesuwania wybrana była opcja Element: Przekształcanie warstw. Przed zapisaniem obrazu z naniesionym tekstem do pliku trzeba jeszcze wykonać polecenia Obraz, Spłaszcz obraz aby połączyć warstwy. Przetworzony obraz zapisać do pliku. Tekst wypełniony przy pomocy mechanizmu gradientu Poprzednie zadanie nie było zbyt skomplikowane. Trudniejsze jest napisanie tekstu w którym litery wypełnione są niejednolicie. Można to zrobić używając tzw. gradientu, który pozwala na wypełnianie dowolnego zaznaczenia wcześniej zdefiniowanym
motywem w postaci segmentów o różnych barwach. Przykład postępowania prowadzącego do utworzenia kolorowanego gradientem napisu jest następujący: Wczytać obraz źródłowy z pliku np. Foto_2.jpg Otworzyć okienka podglądu warstw i kanałów wykonując polecenia Okno dialogowe, Warstwy i Okno dialogowe, Kanały. Nowym elementem są kanały zawierające informację o poszczególnych składowych barwnych obrazu. W obserwowanym stanie widoczne są trzy kanały określające składową czerwoną, zieloną i niebieską, bowiem obraz zapisany jest w trybie RGB. Zgodnie z zasadami opisanymi w poprzednim zadaniu napisać na obrazie jakiś tekst. Zwrócić uwagę co się stało po napisaniu tekstu zestawach warstw i kanałów. Nowy kanał o nazwie Kanał alfa, który pojawił się w okienku Kanały jest informacją o przezroczystości. Można powiedzieć, że jest to dodatkowy obraz monochromatyczny nałożony na obraz barwny. Jasność punktu takiego obrazu może być traktowana jako przezroczystość. Po wykonaniu napisu obraz powinien wyglądać tak jak na rysunku 7. Rys. 7. Obraz z wpisanym tekstem W okienku Warstwy kliknąć przy wciśniętym prawym klawiszu myszy pasek warstwy tekstu i z menu, które pojawi się na ekranie wybrać opcję Kanał alfa na zaznaczenie. Wybrać narzędzie Gradient, ustawić opcje narzędzia i przeciągnąć kursorem po zaznaczonym tekście. Zaznaczenie powinno zostać wypełnione wzorem gradientu. Usunąć zaznaczenie wybierając np. Zaznaczenie, Brak i spłaszczyć obraz.
Efekt powinien wyglądać mniej więcej tak jak na rysunku 8. Rys. 8. Tekst wypełniony gradientem Zadanie można powtórzyć zwracając uwagę na możliwości narzędzia do wypełnienia gradientem.