This action requires saving a cookie to remember the page's state. You can read more about that on the cookies page.

 

3D photos from a single hand held camera

Released on: 2023-08-24

The idea was simple: I wanted to take long distance 3D photos with a single camera by taking multiple photos with a little bit of manual separation to create parallax.

In the beginning, I was happy to get 1 usable tripod shot in 3 hours. By the end I was taking doing it hand-held, and nailing almost every shot within seconds.

Table of contents

The journey from concept to reality

My first design to achieve this was to have two tripods, a bar in between them, and a radio controlled camera mount to move the camera between the locations while using the same calibration. But the journey to my final solution is an excellent example of the benefits of iterating and re-thinking your plan from time to time.

Me playing with ideas.
Above: Me playing with ideas.

On the first day, I was particularly short for time, so I opted for a much simpler design where I’d use multiple tripods, with a bar and level to calibrate them, and then moved the camera between them while trying to disturb them as little as possible. This took 3 hours per shot.

Setting up the first go outside.
Above: Setting up the first go outside.

After several iterations, I got to being able to use a camera, even without ghosting, to reliably take good shots in seconds.

My final method when using a dedicated camera.
Above: My final method when using a dedicated camera.

What’s important to get right

There are several things to get right when taking the photos. So it helps to prioritise which things you concentrate on.

TL;DR

What Importance Fix in edit? Consequence
Exposure High Yes, with quality loss. Eye strain.
Movement High Difficult/time consuming, if possible at all. Missing parts of each shot.
Roll Medium Yes. None if corrected.
Pitch Medium-high Yes. Difficult on consumer-grade equipment. Potential distortions from the optics can cause eye strain.
Yaw Low Yes None when the images are aligned on the convergence point.
X Low No. No 3D effect (too low separation) vs Eye strain (too high separation).
Y Essential No. Eye strain.
Z High Maybe. Assume no. Eye strain.
Overlap Essential in edit. Yes, with crop. Eye strain. Looks Amature.

Generally:

  • Rotation (roll, pitch, yaw) can be fixed in the edit. But always comes with consequences.
  • Linear positions (x, y, z) are extremely difficult to edit to a good-enough standard.

What must be done well

If these items are not done well; they will cause eye strain.

  • Exposure - How bright is each image? You may be able to fix this in the final edit, but you will loose quality. If it doesn’t precisely match, it will cause eye strain. It’s worth using a camera or app where you can manually lock the final exposure.
  • Have as little movement as possible within the photos. A tiny bit of movement will destroy the effect. So static scenes are much easier to shoot than dynamic ones.
  • Pitch (is the camera looking more up or down compared to the other photo?) - Correction: With a high quality lens, you might be able to get away with this being off if you crop and align the shots. But with consumer grade gear, there will be distortions that will simply be too great for the final image to be usable.
  • Z axis (how close you are to the subject.)
  • Y axis (how high the camera is). - Correction: This can not be fixed in the edit without significant time investment to reconstruct the composition of each shot. Even a little bit is enough to make the final image difficult to look at.
  • Overlap. - After the two images have been aligned in the final edit, the entire output must contain both images. If some area only includes one of the two images, it feels like something is partially covering one eye, which leads to eye strain. This can be achieved by cropping, which reduces the usable area of each image.

Can correct in the edit

You can tolerate a little error in these as long as you correct them in the edit. Note that the further off these are, the more likely you are to hit issues with any distortions in your optics.

  • Roll (ie what it looks like if you tilt your head side-to-side.)

What you can relax on a little

  • Yaw (how cross-eyed the shots are.) - This is less important than people often state. However the further off this is, the more you will have to crop out of the final edit. You still need to make sure that your convergence point is neutral in the edit.

Have fun experimenting

  • X axis (how far apart the two shots are.) - Normally, you want the separation to be the same as the distance between your eyes, at the maximum (too much feels like going cross-eyed). For long distance shots, it is interesting to experiment with more separation to get more 3D effect. A little separation goes a long way, and too much will make the viewer go cross-eyed. So it’s worth experimenting to see what gives you the best results.
    • I’ve found the wiggle grams benefit from greater separation. While mediums that allocate one image per eye, like anaglyph, or polarised lenses, benefit from a smaller separation.

Things to help you do it hand held

Ghost image

Ghost image is a feature to show your previous shot at the same time as your current shot to help you get them aligned. This makes it massively easier to get the subject aligned nicely between the shots.

A screenshot showing what ghosting looks like in action.
Above: A screenshot showing what ghosting looks like in action.

Grid lines

There are other great reasons for using Grid lines (lines drawn on yoru camera’s display that divide the view into sections.) But for this purpose, they are great for aligning the subject consistently. It’s especially helpful if your camera/app doesn’t have the ability to ghost the previous image.

A screenshot showing grid lines in action.
Above: A screenshot showing grid lines in action.

Phone apps

Hedgecam 2

Hedgecam 2 has “Ghost image” in the “Preview” settings.

A screenshot showing the Ghost image setting in Hedgecam 2
Above: A screenshot showing the Ghost image setting in Hedgecam 2

Open camera

Open camera has “Ghost image” in the “Camera preview” settings.

A screenshot showing the Ghost image setting in Open camera.
Above: A screenshot showing the Ghost image setting in Open camera.

Dedicated apps

MakeIt3D is one that I have tried breifly. It’s a bit hit and miss, and I can’t see a way to fix problems that should be fixable, but it’s quick and can get some good results with some effort.

A screenshot of MakeIt3D.
Above: A screenshot of MakeIt3D.

Resolution of the photos

Turning up the resolution as high as possible will give you more room to fix issues with less impact to the quality. Phone cameras are highly optimised and can do quirky things when you mess with the settings. So it’s worth testing to see how your phone behaves at different resolutions.

Corrections

I have found the following mistakes in the video:

  • When taking the photos
    • The Y axis MUST be consistent between shots.
    • The pitch axis can actually tolerate a little error if you have high-end optics and the digital processing it not distorting the output. However for consumer gear, you’re better off getting this right first time.

Timing

I released the video on 2022-05-25. At the time I was focused on Patreon, so I never got around to doing a blog post for it. Now seemed like a good moment to fix that.

This post references

2022-03-07
The RandomKSandom series is the spiritual successor to FunnyHacks. Here, you can find all of the posts about it.
2024-09-26
I took some time to extend myself with some intellectual challenges. Here's what I've done so far.

Posts using the same tags

2024-09-26
I took some time to extend myself with some intellectual challenges. Here's what I've done so far.
An Android game like 2048, but 3D, and requiring a different strategy.
Getting the information and access you need to your infrastructure quickly, so that you can get back to sleep.
It's time to blow the dust off machine learning, and apply it to a dataset that I know.
My CV had gained so much weight that it was hard to do anything with it any more, and it was hard to read. So I did something about it...
Control your computer using a Leap Motion controller, but with an every-day-quality implementation.
If you want to share stable diffusion on your network without exposing any information to the outside world. This is one way to do it.
There's a trick for getting a big speed boost on old hardware that's so easy that I'm surprised I haven't heard people talking about it.
What began as 3 tripods on a hill, and hours per photo, ended with way better results in seconds, hand held.
I accidentally automated Javelining a plane into the ground. And I learnt a huge amount along the way.
Over the last few years, there has been a lot of talk about whether you can make use of the full resolution on a phone with a 4K display. Let's dig in and actually understand this.
2022-11-17
Group of posts about the Astro Slide 5G.
I'm stopping my Patreon activity for now. Let's dive a little deeper into why.
4 easy phone hacks to make your phone more useful and fun
2022-03-07
The RandomKSandom series is the spiritual successor to FunnyHacks. Here, you can find all of the posts about it.
DoneIt is a time tracker for working out where your time is going. For me there were a few things I wanted to achieve with it - Be able to say what I've been doing all day. - See how much time is lost to time ...
Well over a year ago I introduced mass which is a tool for managing large numbers of servers. It's come along way in that time, and it's well and truly time for another look. From the users' point of view, the most interesting things are probably that you can now ...
Achel is a programming language that I have been working on for the past 13 years (I said 12 in the video, it has been a long time!) There has been growing interest in the programs I have been writing using it, so I have now released it as open ...

More...

Home | About | Contact | Cookies