Retiring BLAM and announcing fSpy - a stand alone camera matching app

(stuffmatic) #1

Hello everyone!

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

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.

Camera Calibration Blam
BLAM add-on
(bkjernisted) #2

Which file do you download if you are on windows 64 bit. Thanks

(Peetie) #3

It seems to me you have to build it yourself from source code. (Visual Studio?)

Official fSpy importer

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?

(stuffmatic) #5

Glad you like it! And that it seems to work :slight_smile: Yeah, I agree zooming would be nice. Can you explain what you mean by camera shift manual adjustment?

(Nanomanpro) #6

It looks very promising but I can’t test it because the antivirus doesn’t allow me to open exe file, maybe it’s a name “spy”?

(Steffen Dünner) #7

Thanks for all of your work!

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 :wink:

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 :+1:

(stuffmatic) #8

What anti virus program are you running? What error message are you getting?


In Blender camera settings, under the Lens, there is Shift for X and Y axis, which I used to used quite often to fine tune calibration.

(stuffmatic) #10

Sounds like you’re looking for the “manual” option in the “principal point” menu in fSpy?

(Nanomanpro) #11

AVG antivirus but it seems that the exe file has been sent automatically for examination and everything is fine


I’m not sure if this is what I’m looking for - it’s too technical for me :wink: I’m not even sure if this would be ever needed with your new application.

(Steffen Dünner) #13

First little “bug report” :wink:

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.

(stuffmatic) #14

Good point

(James) #15

This is such a neat little app but Ive probably picked a tricky image to start with. Im not sure doing it… how I would I map this?

(stuffmatic) #16

Yes, that looks a bit tricky :slight_smile: 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

(Nanomanpro) #17

I have to admit that it works very well :slight_smile: 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.

(Nanomanpro) #18

For me it works :slight_smile:

(James) #19

Oh well done :slight_smile: Thanks for having a go at it. I should probably credit the photographer, I didn’t take the photo.

(LeighAH) #20

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.