Obrazy w formacie .jpg to są oryginalne zdjęcia, zrobione w laboratorium. Jest zdjęcie prowadzącego i 5 studentów (wszystkich obecnych). Zdjęcia były zrobione ze statywu, na tle jednolitej ściany. Wszystkie portrety miały być jak najbardziej zbliżone kształtem.

Maciej mały Maciej skalowany


Rozdzielczość oryginalnych zdjęć to 1200 na 1600 piksli. Wszystkie pozostałe zdjęcia są w formacie .gif, czarno-białe, o głębokości 8 bitów (256 poziomów szarości). Wszystkie mają standardową, szarą paletę.

Obrazki pict*a.gif zostały przetworzone w ten sposób, że oczy są w poziomie, i mają ten sam rozstaw. W programie Photoshop odczytane zostały współrzędne każdego oka, następnie obraz został obrócony, aby sprowadzić oczy do poziomu. Nie każdy obraz był obracany, w niektórych oczy były wystarczająco poziome. Następnie odczytany został rozstaw oczu, i obrazek został przeskalowany, z zachowaniem proporcji, aby znormalizować rozstaw. Obrazki zostały także przekonwertowane z kolorowych obrazków w formacie .jpg do szarych w formacie .gif. To przekształcenie zostało zrobione przy pomocy standardowego narzędzia programu Photoshop. Wynik tych przekształceń zapisany jest w plikach pict*a.gif.

Następnie z każdego obrazka została wycięta kwadratowa ramka. Ramka miała ten sam rozmiar dla każdego obrazka, i w każdym wykadrowanym obrazku oczy są w tym samym miejscu. Tak wykadrowane portrety zostały przepróbkowane do rozdzielczości 512 na 512. Te operacje również zostały wykonane w Photoshopie. Wynik zawarty jest w plikach pict*b.gif.

Maciej ucięty Maciej ucięty, duży kontrast


Dalsze operacje zostały wykonane w Matlabie. Każdy obrazek otrzymał znormalizowany kontrast, to znaczy minimalna wartość pikseli wynosi w każdym wypadku 0, a maksymalna 255. Tak znormalizowane obrazki zawarte są w plikach pict*c.gif. Ponieważ Matlab nie zapisuje plików w formacie .gif, zostały one zapisane w windowsowym formacie .bmp, a następnie przekonwertowane przy pomocy programu Gimp.

Następnie wyliczona została "średnia twarz" mean.gif, jako średnia arytmetyczna pikseli. W plikach pict*d.gif zawarte są "karykatury", czyli różnice pomiędzy bieżącą twarzą, a twarzą "średnią". "Karykatury" są znormalizowane, to znaczy wartości pikseli są powiększone o 255, a następnie podzielone przez 2.

Średnia twarz Karykatura


Należy przeprowadzić eksperyment. Skompresować oryginalny obrazek pict*c.gif oraz karykaturę pict*d.gif z tym samym stopniem kompresji. Stopień kompresji powinien być duży, powiedzmy 95-99 %. Następnie rekonstruujemy portret oryginalny z karykatury: mnożymy karykaturę przez 2, odejmujemy 255, i dodajemy nieskompresowany mean.gif. porównujemy efekt. Czy kompresja jest lepsza bezpośrednio, czy z wydzieleniem karykatury?