Pierwsze odkrycie
Pierwszy raz z autostereogramami spotkałem się u mojego kuzyna. Był to chyba środek lat 90., kiedy chodziłem jeszcze do podstawówki. Miał on dwie książki zatytułowane “MAGICZNE OKO” (Wikipedia: Magic Eye).

Bardzo mi się spodobało to, że patrząc w taki abstrakcyjny obraz, można zobaczyć trójwymiarowe kształty. Wydaje się, jakby obraz nie był płaski, tylko wklęsły i wypukły. Jednak początkowo zobaczyć te kształty nie było łatwo. Trzeba patrzeć w taki obraz w specyficzny sposób. Punkt przecięcia wzroku musi się znaleźć za obrazem, natomiast ostrość na obrazie. Przysuwało się więc książkę pod nos i powoli odsuwało. Nie można było skupić wzroku na kartce. Jeśli tak się stało, to zaczynało się od nowa. I tak w kółko, aż w końcu za n-tym razem pojawił się piękny trójwymiarowy obraz. Satysfakcja była ogromna.
Powrót do tematu
Od czasu kiedy ostatni raz miałem w rękach książkę “MAGICZNE OKO” minęło bardzo wiele czasu. Teraz gdy ponownie wróciłem do tematu, jestem zaskoczony, jaki jest on rozległy. Wszystko dzięki temu, że zanim się o czymś napisze, wypada zrobić mały research. To powoduje, że chcąc nie chcąc poszerzamy znacząco wiedzę.
Zanim zacząłem pisać tego posta, byłem święcie przekonany, że obrazy z ukrytą zawartością to stereogramy, i faktycznie tak właśnie jest, ale dokładna nazwa tego typu stereogramów to autostereogramy.
Bardzo obszerny artykuł jest na wikipedii, niestety tylko angielskiej, na polskiej jest bida.
W trakcie zgłębiania tematu zamówiłem też książkę. Dobrze, że to zrobiłem, bo mi przypomniała o kilku rzeczach. Pokazałem ją także córce i chyba udało mi się zarazić ją tym tematem.

W jaki sposób to działa
Wszystko zawdzięczamy naszemu mózgowi. Potrafi on wykryć niewielkie różnice w obrazie wynikające z tego, że oczy są od siebie oddalone. Dzięki temu mamy wrażenie głębi i jesteśmy w stanie określić, które obiekty znajdują się bliżej, a które dalej (widzenie stereoskopowe). Efekt ten wykorzystuje się w stereoskopii, technice obrazowania, dzięki której w płaskim obrazie możemy zobaczyć głębię, a obraz w ten sposób przygotowany nazywamy stereogramem lub obrazem stereoskopowym.
Na początku wymyślono stereogramy dwu-obrazowe, czyli dwa zdjęcia obok siebie zrobione podwójnym aparatem, który imituje rozstaw oczu. Następnie takie zdjęcie umieszcza się w stereoskopie i patrząc przez niego, uzyskuje się wrażenie głębi. Pamiętam, jak w dzieciństwie bawiliśmy się podobnym urządzeniem o nazwie stereomat (produkowany był w DDR w latach 70.). Przypomina on lornetkę, do której wkłada się slajdy (rysunek 3).

Później wymyślono stereogramy jedno-obrazowe, na których obraz dla każdego oka ukryty jest w jednym obrazie. Widzenie stereoskopowe osiąga się dzięki zastosowaniu dodatkowego urządzenia, np. za pomocą specjalnych okularów polaryzacyjnych. Przykładem tutaj także może być znany z kina anaglif, wymagający założenia okularów anaglifowych czerwono-cyjankowych.

Jednak czy zawsze potrzebne jest dodatkowe urządzanie? Okazuje się, że nie. Wiedza na temat tego, jak mózg wykrywa głębię (binocular disparity), pozwoliła na opracowanie obrazów, w których patrząc w odpowiedni sposób, zobaczymy trójwymiarowe kształty. Obliczenia są na tyle skomplikowane, że pierwsze obrazy powstały dopiero z początkiem pierwszych komputerów osobistych.
To właśnie takie obrazy nazywamy autostereogramami, czyli jedno-obrazowe stereogramy z ukrytą głębią, którą możemy zobaczyć bez dodatkowych urządzeń.
Nie będę tutaj wchodził w szczegóły. Opiszę mniej więcej, jak zbudowany jest obraz i jak to działa.
Wąski pionowy fragment powtarzany jest cyklicznie przez cały obraz (rysunek 5).

Jeśli pozwolimy oczom, żeby się rozeszły, to każde oko zacznie widzieć „ten sam” obraz i soczewka będzie w stanie dostosować ostrość. Każde oko widzi „ten sam” obraz, ale przesunięty o jeden cykl, co sprawia, że w rzeczywistości w danej chwili oczy patrzą na dwa różne obrazy. Okazuje się, że przy odpowiednio spreparowanym obrazie mózg jest w stanie wykryć różnice i zobaczyć w nim głębię. Pewne fragmenty będą wydawały się bliżej, a inne dalej. Najlepszy efekt osiąga się wtedy, gdy rysunek składa się z drobnych różniących się elementów. Łatwiej wtedy mózgowi wychwycić różnice pomiędzy cyklami. Stąd właśnie autostereogramy wyglądają przeważnie jak jakaś mozaika. Jednak nawet przy niewielkiej gęstości punktów nasz mózg daje radę wychwycić różnice, czego przykładem może być ten obrazek: czyste niebo w nocy z gwiazdami.
Taki sposób patrzenia na obraz nazywa się prostogląd (wall-eyed), punkt przecięcia wzroku znajduje się wtedy za obrazem (rysunek 6a). Jest także drugi sposób patrzenia, kiedy punkt przecięcia wzroku znajduje się przed obrazem (rysunek 6b.). Nazywa się to krzyżogląd (cross-eyed).

To, w jaki sposób powinniśmy patrzeć, zależy od obrazu. Każdy autostereogram można zobaczyć na 2 różne sposoby, ale jeśli obraz będzie przygotowany pod wall-eyed, to patrząc na niego w sposób cross-eyed, zobaczymy odwrotną głębię. To, co powinno być wypukłe, będzie wklęsłe. To samo stanie się, jeśli na obraz przygotowany pod croll-eyed, spojrzymy w sposób wall-eyed. Głębia będzie odwrócona.
Jak patrzeć, żeby widzieć
Niektórym osobom przychodzi to łatwiej, innym trudniej, ale z tego, co czytałem, to każdy ze zdrowym wzrokiem powinien móc zobaczyć kształty 3D ukryte w stereogramie. Mojej 9-letniej córce zajęło to jakieś 15 min. Sam byłem zaskoczony, że tak szybko to opanowała.
Najlepiej do nauki mieć książkę (wersję papierową), bo wydaje mi się, że rozdzielczość druku jest lepsza w porównaniu z dostępnymi bitmapami w Internecie (ekrany obecnie mają wysoką rozdzielczość, ale nie ma bitmap w takich rozdzielczościach). Dodatkowo ekrany świecą i myślę, że to przeszkadza w skupieniu. Trzeba także dobrać odpowiedni rozmiar. Często w pomniejszonych obrazach łatwiej zobaczyć głębię niż w rozciągniętych na pełny ekran.
Prostogląd (Wall-eyed)
W książce opisane są 2 sposoby, na stronie Hidden 3D Stereograms jest ich aż 7 (How to View Stereograms).
Ja opiszę ten, moim zdaniem najprostszy. Zbliżamy kartkę do twarzy, tak blisko, aby dotknęła nosa. Z takiej odległości oko nie jest w stanie dostosować ostrości i punkt przecięcia wzroku będzie za kartką. Oto nam właśnie chodzi. Teraz bardzo powoli oddalamy kartkę, starając się utrzymać nieruchomo oczy i nie przenosić punktu skupienia na kartkę. Gdy kartka znajdzie się w odległości ok. 20 cm od oczu, to zatrzymujemy i czekamy. Cały czas staramy się nie krzyżować oczu na kartkę. Po jakimś czasie nasz mózg zacznie dopasowywać ostrość do odległości obrazu i zobaczymy trójwymiarowe kształty. Jeśli jednak nie wytrzymamy i oczy skupią się na obrazie, to powtarzamy całość od początku.

Innym sposobem, który może przynieść dobre rezultaty, jest wykorzystanie odbicia. Strony książki są błyszczące. Należy zbliżyć źródło światła tak, aby w okładce było widać np. lampę. Wtedy mimowolnie będziemy skupiać wzrok za obrazem. Ten sam efekt można uzyskać, drukując obraz na przezroczystej foli. Należy wtedy skupić wzrok na obiekcie za folią i czekać, aż mózg zorientuje się, że powinien ustawić ostrość bliżej.
Krzyżogląd (Cross-eyed)
Obrazów przygotowanych pod krzyżogląd jest o wiele mniej, a szkoda, bo moim zdaniem dają przyjemniejsze doznania. Ma się wraże, jakby obraz wychodził z ekranu.

W tym przypadku jest o wiele trudniej złapać odpowiedni kąt, bo nie możemy już przysunąć kartki pod nos. Sami musimy zmusić wzrok, żeby zrobił zeza i jednocześnie ustawił ostrość na obrazie.
Ja to robię tak: wyciągam palec pionowo na środek ekranu i powoli przybliżam go w kierunku wzroku, jednocześnie obserwując tło. Obrazy z obu oczu będą się przesuwać i w końcu nałożą się na siebie. Wtedy zatrzymujemy palec i czekamy, aż mózg przeniesie ostrość widzenia na ekran. Wysunięty palec trochę mi przeszkadza, więc ja go powoli obniżam, starając się nie modyfikować ustawienia oczu. Pomaga też przymrużanie oczu.
Ciekawostka: Istnieją stereogramy dwu-obrazowe przygotowane dla krzyżoglądu — przykład.
To nie tylko kolorowe obrazki
Zacząłem pisać tego posta jakieś 4 miesiące temu i od tamtego czasu mega dużo się dowiedziałem. Nie wiedziałem wcześniej, że istnieją autostereogramy zbudowane z losowych punktów, a okazuje się, że to właśnie one powstały jako pierwsze. Utworzył je Christopher Tyler w 1979 z pomocą programisty Maureena Clarke, używając Apple II i języka BASIC. Po angielsku nazywają się one Single Image Random Dot Stereogram (SIRDS). Można to zobaczyć na rysunku 9.

To, co mnie zaskoczyło to to, że ktoś zrobił nawet nakładkę na Quake II, która zamieniała renderer 3D, na renderer generujący SIRDS w czasie rzeczywistym. Nie próbowałem jeszcze tego uruchomić, ale z tego, co podejrzewam, to może być problem, bo strona autora ostatnią aktualizację miała chyba w 2004 roku.
Jeśli jesteśmy przy temacie gier, to autor obszernej strony ze stereogramami zrobił Stereogram Tetris. Jeśli chce się w niego zagrać, trzeba patrzeć tak jak na autostereogram. Jest także gra wąż.
Kolejną ciekawostką, o której nie wiedziałem, są autostereogramy animowane. Jeden jest w artykule wikipedii, a więcej można znaleźć na stronie hidden-3d stereogram video, natomiast na YouTube znalazłem kilka teledysków. Jest także piękna animacja cross-eyed.
Dowiedziałem się także, jak można pokazać albo udowodnić, że faktycznie w obrazie są ukryte kształty. Jeśli skopiujemy warstwę obrazu, a następnie ustawimy tryb mieszania: różnica (diference) to podczas przesuwania, zobaczymy czarne fragmenty w miejscach, gdzie obraz jest wypukły w stosunku do tła. Pokazałem to na rysunku 10 i 11. Rysunek 11 jest skanem jednej ze stron książki MAGICZNE OKO. Na rysunku 12 jest pokazany rekin z rysunku 9.



Stereogram Paint oraz inne aplikacje
Autor dużej strony poświęconej stereogramom 3Dimka Dmitriy oprócz gier udostępnił także kilka aplikacji. Jest tam generator autostereogramów dla Windowsa oraz wtyczka do PhotoShop’a. Na jego stronie można także utworzyć autostereogram online za pomocą Stereogram Paint (napisany we flashu).
Poszukałem także na GitHub’ie. Znalazło się tam kilka osób zainteresowanych tym tematem. Jest tam parę innych generatorów, a także powstał solwer. Z obrazu potrafi wyciągnąć maskę w odcieniach szarości.
Zakończenie
To miał być krótki wpis. Będzie mi potrzebny do wyjaśnienia pewnej rzeczy, o której będę pisał tu (link będzie później). Myślałem, że pójdzie szybko. Napiszę parę zdań i już. Jednak w trakcie pisania wydarzyło się tyle rzeczy, że to moje pisanie przeciągnęło się na kilka miesięcy. W przypisach poniżej można zobaczyć, gdzie moja ciekawość mnie doprowadziła. Jest tego naprawdę sporo, a to tylko niewielka część tego, co można znaleźć w sieci.
To już chyba wszystko, czym chciałem się z Tobą podzielić.
Miłego dnia, wieczoru, nocy życzę i pozdrawiam.
PS. Jaki język programowania ukryłem w rysunku 7?
Skróty
SIS – Single Image Stereogram = autostereogram
RDS – Random Dot Stereogram
DIRDS – ang. Dual Image Random Dot Stereogram
SIRDS – Single Image Random Dot Stereogram
SIRTS – Single Image Random Text Stereogram (ASCII stereogram)
Przypisy
Portale
- Magic Eye Website (en) – strona firmowa Magic Eye Inc. Strona książki “Magic Eye”, “Magiczne Oko”
- Hidden 3D Stereograms (en) – obszerna strona poświęcona autosteregoramom, której autorem jest 3Dimka Dmitriy. Obszerna galeria, gry, video, software, plakaty, opisy, linki.
- Magic Eye 3D (en) – strona poświęcona autostereogramom, darmowe obrazy (autor pozwala na rozpowszechnianie)
- eyeTricks – powiedziałbym, że konkurencja do Magic Eye. Chwalą się, że mają swoje unikalne autostereogramy.
Opisy
- Wikipedia: Magic Eye (en) – o książce “MAGICZNE OKO”
- Wikipedia: Autostereogram (pl) – skromny opis
- Wikipedia: Autostereogram (en) – bardzo obszerny opis
- Wikipedia: ASCII stereogram (en) – autostereogram zbudowany z liter
- History of Magic Eye 3D pictures (en) – Krótka historia obrazów Magic Eye 3D
- Wikipedia: Stereogram, obraz stereoskopowy – obraz przedstawiony na płaszczyźnie w taki sposób, aby sprawiał wrażenie trójwymiarowego.
- Wikipedia: Stereoskopia – technika obrazowania oddająca wrażenie normalnego widzenia stereoskopowego, to znaczy odwzorowująca nie tylko kształt i kolor obiektów, ale także ich wzajemne zależności przestrzenne, odległość od obserwatora i głębię sceny.
- Wikipedia: Stereoskop – przyrząd optyczny, służący do obserwowania fotografii stereoskopowych.
- Stereomat – stereoskop rozpowszechniony w okresie komuny (przynajmniej tak kojarzę), więcej można znaleźć na Google/Obrazy: stereomat
Galerie
- hidden-3d.com: Puzzles – Zgadywanki
- FAZI WEB SITE: STEREOGRAMY – zadbaj o Swój wzrok – galeria 88 autostereogramów
- Stereogramy <o> – 3 wymiary na płaszczyźnie – stara strona z roku 2000, zawierająca dużo opisów (także historię) oraz kolekcję 142 autostereogramów
- www.vision3d.com – Dużo na temat 3D Vision (en)
- Wykop – 27 ciekawych stereogramów
- hidden-3d.com: Stereogram Gallery: Cross-Eyed – galeria autostereogramów dla krzyżoglądu
Aplikacje
- Stereogram Paint – (online) Aplikacja flash do tworzenia autostereogramu. Rysujemy maskę okrągłym pędzlem, a następnie renderujemy obraz.
- (działała 15.10.2018) Make your own Stereogram Poster – (online) Aplikacja webowa do tworzenia autostereogramu. Najpierw tworzymy maskę w edytorze, wybieramy tło i renderujemy obraz. Edytor jest rozbudowany, można wstawiać obiekty, a następnie, przesuwać, zmieniać rozmiar i obracać. Można rysować.
- Build your own 3D Stereogram – (online) Aplikacja webowa do tworzenia autostereogramu, w której wybieramy tło i maskę z galerii i renderujemy obraz. Bardzo dużo tego tam jest. Możemy także upload’ować własne.
- Sasibak – 3D magic-eye creator online – (online) Aplikacja webowa do tworzenia autostereogramu cross-eyed. Mamy do wyboru kilkanaście masek i teł.
- Stereogram Lab MTS v1.0 – darmowa aplikacja do tworzenia autostereogramów (autor 3Dimka) – działa na Win10
- Stereogram Lab Filter v1.0 – wtyczka do PhotoShop’a, na pewno działała w 2008 roku (autor 3Dimka)
- Message Stereogram Generator – (online) generator autostereogramu z krótką tekstową wiadomością
GitHub
- Autostereogram using Javascript Canvas – aplikacja w JavaScripcie, generuje autostereogram na podstawie podanej maski grayscale (source code)
- magicpy – generator napisany w Pythonie, który na podstawie maski grayscale generuje autostereogram SIRDS.
- magiceye-solver – z autostereogramu wykrywa maskę
Aplikacje na smartfony
- Stereogram Fun (Magic Eye)
- 700 Stereograms Quiz
Gry
- 3D-Stereogram Tetris – tetris stereogramowy (link 2)
- Stereogram Python – wąż stereogramowy
Animacje
- hidden-3d.com: Video (flash) – galeria 6 animacji
- YouTube: Young Rival – Black Is Good [Official] – teledysk autostereogram
- YouTube: Najlepsze stereogramy + instrukcja – galeria autostereogramów w filmie z instrukcją jak patrzeć
- YouTube: 3D without glasses, Cross-Eye HD – animacja spirali przygotowana dla cross-eyes ale stereogram dwu-obrazoy
Ciekawostki
- Quake II AbSIRD – The Full Quake II in SIRDS! – gra Quake 2 wyświetlana jako autostereogram SIRDS
- hidden-3d.com: comment captcha – Captcha jako autostereogram
- MSPaint Tutorial – How to Draw a Stereogram – Jak zrobić autostereogram w paint’cie
Ciekawe pojedyncze obrazy
- Happy New Year 2018!
- Rozgwiazda
- Pies
- Dziecko w spirali
- Wiewiórki
- Chirliderka z nogą na leżącym zawodniku rugby
- Chirliderka w mini, której widać majtki
- Niebo z gwiazdami
- Niebieskie jajka z zębami (Cross-eyed) – super, złap je przed ekranem
- Skorpion (Cross-eyed Skrzyżowane-oczy)
- Koń SIRDS Cross-eyed
- Przykład tego samego obrazu wall-eyed i cross-eyed
Wyzwania
- Random dot stereogram – przygotowane dla stereomatu, ale na upartego da się w to zajrzeć tak jak w zwykły autostereogram. Taki obrazy muszą być małe aby można było zrobić zeza rozbieżnego.
- Dwa obrazy korytarza obok siebie – przygotowane dla cross-eyed
- Łódka na plaży – dwa obrazy obok siebie – jedna wersja przygotowana dla wall-eyed druga do cross-eyed. Bardzo trudno zobaczyć.
Podobne artykuły