Converting stereograms to L-R image pairs

From JJSWiki
Revision as of 21:28, 16 April 2023 by JoshuaJSlone (talk | contribs) (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This is something I did as a bit of playing around on 3DS.  Someone asked how I did it, and since I replied I figured I might as well put the reply here where it might be able to be referenced later.

---

I'll be a little wordy here and maybe say things you already know, but just want to make sure it comes across clearly.

As stereograms are viewed using the parallel method, it basically means there's going to be some repeating pattern with slight irregularities. So the image may contain 1 2 3 4 5 of this pattern. By doing the parallel viewing, one eye's "1 2 3 4" will overlap with the other eye's "2 3 4 5", and the slight differences produce the depth. So what you want to do is find out how wide the repeated area is, so you'll know how much shift is necessary for the parts for different eyes to overlap.

In the flower/heart one, I did something like measure from the bottom of one type of flower petal to its next counterpart further to the right. Got to be something like 64 pixels, so that was the amount of shift needed. So I made two copies of the image and cut off 64 pixels from the right to create the left eye image ("1 2 3 4"), and on the other cut 64 pixels from the left to create the right eye image ("2 3 4 5"). Resized them both to 240 height, and combined them into an MPO.

The other one I picked specifically because it had those marks at the top to help you determine how much your eyes are supposed to shift. So I just measured the distance from the left side of the first red rectangle to the left side of the second red rectangle, then did the cropping/resizing thing again.

The first one I tried was actually the jokey "Sony hates black people" one made for GAF a long time ago, http://joshuajamesslone.name/images/...autostereo.png but thanks to it being composed of random black/white dots it was both harder to find the repeating pattern, and it didn't seem to work nearly as well after being resized down into a mush of grays anyway.