Programy, których (być może) nie znacie. Cz. 20: Pixelize 5


Jednym z najciekawszych efektów graficznych, które można uzyskać przy pomocy komputera, jest użycie wielu małych obrazków do konstrukcji jednego dużego. Mniejsze części służą jako piksele dla wyrenderowanej grafiki. Efekt jest powalający, szczególnie jeżeli użyje się odpowiednich „pikseli”, to jest tematycznie powiązanych z efektem jaki chcemy uzyskać. Dzięki temu zdjęcie uzyskuje drugą głębię. Taki efekt został użyty do sworznia portretu beatyfikacyjnego Jana Pawła II. Dzisiaj pokażę wam oprogramowanie, które w prosty sposób pozwoli stworzyć taki efekt.

Pixelize

Zasada działania tego programu jest bardzo prosta. Na początku tworzy się bazę danych obrazów – pikseli. Pixelize analizuje kolorystykę poszczególnych plików a następnie umieszcza je na matrycy tak aby efekt końcowy był jak najbardziej zbliżony do oryginału. Inaczej mówiąc, Pixelize odwala czarną robotę związaną z przeliczeniem i umiejscowieniem pikseli. Algorytm jest całkiem wydajny, większa część pracy odwalana jest podczas pierwszego tworzenia bazy danych. Dzięki temu można w miarę spokojnie zmieniać parametry i ponownie renderować obraz, nie czekając zbyt długo na wynik.

To, czy efekt pracy programu będzie zadowalający zależy od wielu czynników. Pierwszym z nich jest wielkość zasobów obrazków z jakich aplikacja może korzystać. Około 1000 fotografii źródłowych jest dobrym punktem wyjścia. Im większa bazą danych stworzymy, tym mniej będzie powtórzeń i tym lepsze będzie dopasowanie. Warto też dobrać odpowiednie pliki źródłowe. Fotografie trawy będą kiepskim materiałem do renderowania zdjęć księżyca. Inną sprawą jest rozdzielczość renderowanego obrazu, czyli ilość zdjęć w pionie i poziomie użytych do wyrenderowania obrazu.













Efekty działania programu. Kliknij na obrazek aby powiększyć.
Tym razem (z przyczyn technicznych) posłużyłem się grafikami przygotowanymi przez dewelopera programu.

Generalnie sprawa jest prosta – jeżeli chcemy uzyskać naprawdę dobry efekt, to należy przygotować odpowiednio dużą bazę plików graficznych, a matrycę do renderowanego obrazu przygotować jak największą. Jeżeli nasza matryca jest w rozmiarze 1024×768 a obrazki źródłowe niewiele mniejsze (np 800×600), to można tak skonfigurować program aby dokonał ich miniaturyzacji. Dobry efekt uzyskuje się już przy 25-30 obrazkach w pionie i poziomie. Naturalnie im więcej ustawimy tym lepiej. Pod warunkiem, że mamy odpowiednio bogatą bazę danych.

Dobrym miejscem do wyszukania dużej liczby zdjęć będzie Flickr, Wikimedia Commons a także każdy film. Przy użyciu ffmpeg lub mplayera można w prosty sposób wyeksportować wszystkie klatki filmu do pojedynczych plików graficznych. W ramach testów sprawdziłem jak program zachowa się ze sporawą bazą danych. Utworzenie jej z 17 tysięcy plików trwało jakieś 10 minut (4 letni sprzęt). Renderowanie obrazów – max kilkanaście sekund. Oczywiście im większe objętościowo pliki tym proces będzie trwał dłużej.

Instalacja

Pixelize znajduje się w repozytoriach Ubuntu w najnowszej wersji. Wystarczy go zainstalować:

sudo apt-get install pixelize

Użycie

Praca z programem jest dwuetapowa. Punkt pierwszy to przygotowanie bazy danych. Najlepiej stwórz katalog i wrzuć do niego wszystkie pliki jakie chcesz wykorzystać – bez dzielenia je na podkatalogi. Następnie otwórz terminal, przejdź do tego katalogu i wydaj polecenie:

make_db *.png *.png *.gif

W ten sposób dodasz wszystkie pliki graficzne do bazy danych. Jeżeli masz tam także pliki w innych formatach, to możesz także śmiało załączyć. Skoro już jesteś w katalogu z bazą danych, wpisz pixelize aby uruchomić Pixelize. Następnie wybierz „File” -> „Open” i wybierz swoją matrycę. „Options” -> „Render” rozpocznie proces renderowania gotowego obrazu. Po wygenerowaniu pliku możesz zmienić jego parametry (Options->Options) i zarządzać poszczególnymi składnikami (LPM na obszarze roboczym). Klikając prawym przyciskiem myszy na jakieś zdjęcie wymuszamy jego zmianę na inne, pasujące w tym miejscu. Zmiana będzie dotyczyć także duplikatów.

Pixelize rozpowszechniany jest na licencji GNU/GPL v2. Strona domowa programu.


Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

5 komentarzy do “Programy, których (być może) nie znacie. Cz. 20: Pixelize