This is the first color image produced by the new camera & lens combination. The bilinear rectification routine that we completed last week was automatically applied to correct chromatic aberration. In the future bicubic interpolation will make the image even sharper. The original 16-bit image had levels and curves adjusted in Photoshop, and the result was converted to the 8-bit JPG below.

We spent the last year designing and building a camera and software that can capture images with pixels that are 16-bits deep. It isn’t easy to view these images since most tools expect 8-bit images, so the following routine is used to squeeze the 65,536 values in the 16-bit image down to the 256 values of an 8-bit image. There are thousands of ways to compress a 16-bit image, and this approach is specifically for our machine vision/stereoscopic needs.
This approach to compressing pixel intensities is based on the octave relationship, and it is similar to the way a piano’s keys represent a wide range of frequencies. Each “octave” in this case is light intensity that is either twice as bright or half as bright as its neighboring octave. Each octave of light intensity is broken into 20 steps, and this is similar to the 12 keys (steps) in each octave of a piano keyboard. Below is a table and chart that illustrate the conversion from 16-bit images to 8-bits. Each red dot in the chart represent an octave, and there are 20 steps inside each octave. The approach outlined here allows an 8-bit image to evenly cover 12 octaves: almost the full dynamic range of a 16-bit image.

This curve will probably be modified many times with different numbers of divisions per octave, but the basic approach will stay the same. Below is an example of an original 16-bit linear image, and an 8-bit version of the same image after application of the above logarithmic curve. The pictures are not pretty, but they illustrate how details can be pulled from the shadows. The 16-bit linear image is on the left, and the curve-adjusted 8-bit image is on the right.

The image at the right allows you to see the details in the shadows (notice the wires in the upper right) as well as details in the bright areas. An image editing program could be used to manually adjust brightness and extract details from the 16-bit image, but the curve described here can do a good job automatically.
Next post: Rectification.
Categories: Camera Design, Camera Testing, image processing, Prototype4, Software Design Tags: 16-bit, 8-bit, camera, Claibration, gamma, image processing, logarithmic curve, Prototype 4b
Self portrait in the calibration lab made during a test of new software. When this picture was taken the new code was in a user hostile pre-alpha mode. I like the noise and banding effect even though it was caused by a bug that we fixed the next day.
The system is now producing low-noise 5MP color images that are over 16 bits deep. Unfortunately the lenses are now the weak link. Once the custom lenses are built and installed (April 2009) I will begin posting the results.

This hodgepodge of cameras, epoxy, and even duct tape was was used to develop 3D scanning software. After the research (late 2007) it was dissasembled and 7 of the 8 Canon 5Ds (I kept one =:-) were sold on E-bay. A much improved Prototype 4B with 10 custom cameras and lenses will allow a new phase of development in early 2009.

Since 2003 I’ve been refining the patented 3D-360: an omnidirectional stereoscopic camera system. In this 2007 picture, prototype 3.2 is being upgraded to Proto-3.3.
Currently (December 2008) a much-improved Proto-4B is being built with an ETA of April 2009.