Camera Calibration Theory

Single Camera Model

We assume the camera adheres to the “pin-hole” model. With this model, there are certain quantities we need to find to characterize the “intrinsics” of the system:

  1. position of image center
  2. focal length
  3. scaling factors to convert height and width of pixels to physical units
  4. lens distortion

Note that 2) and 3) are typically combined as, mathematically, it’s not necessary to know the focal point explicitly. This is talked about in the next section.

The diagram below describes the model:

Continue reading “Camera Calibration Theory”

Acquiring Stereo Images with Spinnaker API + Hardware Trigger

In the previous article, I set up a stereo vision rig. Now, its time to take pictures with it. The most important thing to do is to set things up so that the synchronized capture works correctly.

The cameras I used are Blackfly S cameras which use the Spinnaker API. I’ve opted to use the python version of the API because python is great for tinkering. The first thing to do is to go onto Flir‘s website, search for Spinnaker, and then download and install the SDK and Spinnaker for python. I’ve opted to use Ubuntu 16.04 with Spinnaker version 1.10.0.31.

After you install the SDK and python extension, take a look at the documentation for synchronized capture. If you scroll down to configuring Blackfly S cameras, you must:

  • For the primary camera: 1) enable the 3.3V output for line 2
  • For the secondary camera: 1) set the trigger source to line 3, 2) set the trigger overlap to “read out”, and 3) then set trigger mode to “on”.

Continue reading “Acquiring Stereo Images with Spinnaker API + Hardware Trigger”

Stereo Camera Setup with Blackfly S Mono USB3 Vision Cameras

The Cameras

#Part
2Blackfly S Mono 3.2 MP USB3 Vision Camera
16 pins, 1m GPIO Cable, Hirose HR10 Circular Connector
2USB 3, 1m, Type-A to Micro-B Cable

The most important component of the setup is the cameras, so I picked the cameras I wanted first, then built up the rest of the rig around them. I decided to go with two Flir Blackfly S Mono USB3 vision cameras; I went with these cameras because they offer a good overall balance between image quality, resolution, price, and they use Flir’s Spinnaker SDK. They were also the newest cameras released by Flir at the time and it always feels good to be on the cutting edge.

These cameras use a primary/secondary setup for synchronized capture. One camera (in my case, the left camera) is set as the “primary”. This camera will acquire the image and uses a “trigger” to send a signal to the other camera to acquire an image at the same time.

Continue reading “Stereo Camera Setup with Blackfly S Mono USB3 Vision Cameras”