A long time ago I released BLAM, a Blender add-on that does camera matching based on still images. Despite the clunky UI, the add-on has become quite popular.
Lately, I’ve been working on a stand alone camera matching app called fSpy, which is finally starting to reach a usable state. In a typical workflow, camera parameters are computed in fSpy and then exported to the user’s favorite 3D modeling tool. Currently, only exporting to Blender is supported, but adding more exporters should be fairly straight forward.
After having stared at the code for too long, I feel it’s time to gather some feedback to move this project forward. For downloads and more info, check out https://fspy.io
The source code is here, if you’re into that kind of stuff.
Since fSpy already does what BLAM does and then some, I’m hereby retiring the BLAM add-on.
Hello @stuffmatic!
Thanks a lot for this application. At the first glance (I calibrated just one photo) it works like a charm.
Reference distance and interactive 3D guide are brilliant. Will keep testing.
Only one missing feature I’ve noticed so far is zoom. For future cases, maybe a camera shift manual adjustment could be handy?
BLAM has to be one of my most important 3rd party addons I use on an (almost) daily basis.
Saved me a lot of time and trial&error whenever I had to work on material that was shot in camera but nobody on the set was so clever to write down some camera and lens data or if they got rid of the metadata somewhere in the process.
The good thing is that BLAM will keep on working
Now taking a look at your new app!
EDIT: Whoa! Instantly got it working with some images without even taking a look at the tutorial. Super intuitive! And thanks for not only supporting Windows but also Linux
I imported a camera via the python script and all worked well except it doesn’t use the sensor size I set in fSpy.
The field of view is right, though. It uses 32mm instead of 35mm full frame but adjusted the focal length accordingly. It would be nice if the script also adjusted the sensor size to match the one in fSpy.
Yes, that looks a bit tricky Since there’s only one discernable vanishing point, you’ll also have to provide the focal length of the camera or guess it using trial and error. The Using images with a single vanishing point section here might help https://fspy.io/tutorial/
I have to admit that it works very well only thing I miss is the zoom and pan option.
It would also be a lot easier if the generated script would automatically add a photo path as a camera background in a blender - from what I remember BLAM did it automatically as well as change of camera dimensions based on image resolution.
This is cool. The only thing that comes to mind is that the ability to zoom / pan on the image would be a good quality of life improvement. Very nice work, thanks.