Image Processing Challenge: What does the world look like through my eyes?
I am extremely short sighted and have a contact lens prescription of the order of -10 dioptres or so. Recently, I was trying to explain to my wife exactly how I see the world when I am not wearing my contact lenses or glasses and the best I could do was ‘VERY blurry!’
This got me thinking. Would it be possible to code something up that took an input picture and a distance from my eyes and return an image that would show how it looks to my unaided eyes?
Would anyone like to give this a go? How hard could it be?
The most difficult problem I see is that with myopia, objects get more blurry as they are farther from you. So if the target is not an image of coplanar objects but of a random scene, the algorith should first decompose the scene into several planes of coplanar objects at different distances from the observer and then defocus them accordingly. Good luck to those with free time! :)
Good point. So, simplifying assumption is ‘The target is an image of coplanar objects’ :)
It is not that easy, because it depends on the size of your iris. So if it is dark or not will change your appearance too! (remember that you squint your eyes to see things sharper; squinting is nothing more than making the entree of light smaller).
The size of your iris compared to the size of your eye-ball is the key factor here (and your dioptre).
How about approaching it from a different angle:
Take an image and add a fog effect or smth like this in a photoshop or similar until the image on the screen reminds you of what you see without lens?
What my optometrist has done is grab a lens of about +8 diopters (I’m about -8) and had my wife look through that.
-10D is a serious amount of myopia! Not unknown, but pretty rare. Your best bet is to find a +10D magnifier (NOT 10x but 10D) and just tell your wife to hold it in front of her eye. That’s way better than trying some image processing, as it uses real physics (rather than computer physics) to do the simulation.
Mail me your address and I’ll see if I have a spare +10D lens hanging around at work (I work in an optometry department in the UK, so I probably do) and I’ll mail it to you. If you give me your exact prescription, I might find something even closer, even though it probably won’t make that much difference in impressing your wife.
A friend of mine at Wolfram Reesearch is on vacation but suggested that I do a couple of wolfram alpha searches. These show what a Snelling chart looks like for various levels of vision. 5/20 vision corresponds to -1.5 diopters
http://m.wolframalpha.com/input/?i=5%2F20+vision&x=0&y=0
1/20 vision is -3.5 diopters and the chart looks very blurry.
http://m.wolframalpha.com/input/?i=1%2F20+vision&x=0&y=0
My vision is MUCH worse than this.
Another fun search is ‘dog vision picture of lee van Cleef’
http://m.wolframalpha.com/input/?i=dog+vision+picture+of+lee+van+Cleef&x=0&y=0
Looks like this website is aiming to solve this very challenge:
http://www.eye-sim.com
The algorithm used is not is clear.
How about just having your better half drink say 10 beers…
That should enable her to see through your eyes.
I played with something similar for a while once. As Jorge said, the biggest difficulty is that the amount of blur depends on the distance from the object.
After trying to do it in Mathematica based on an input image and a distance map, I realised that it’s already implemented in later versions of Photoshop, and it’s called “lens blur”.
The basic idea is to create a convolution of the image with the image of the lens aperture (eye pupil) at a certain size. (This is just an approximation, but still much much better than a naive Gaussian blur.) The size depends on the distance of the object represented by the pixel being processed. You can use a thin lens approximation to figure out the size that should be used.
For the eye the calculations will take a bit more work because the media on the two sides of the lens have different indices of refraction.
The problem will be more interesting if you need cylindrical lenses.