The Bayer sensor vs the Foveon sensor (part 2 of 2)

(read part one)

After looking at several of the POV "advanced" examples, I selected the one called "isocactus". The cacti feature a lot of tiny little spines. A script, automates creating the image in the two desired sizes, the bayerization process, and the reconstruction with dcraw.

Crop of the bayerized image
This image shows a portion of the black and white bayer data, scaled 200% with "nearest neighbor". A full-color input image is transformed into a bayer greyscale image by, discarding 2/3 of all the data in the original. A modified version of the dcraw converter is used. The modification is simply a loader for ".pgm" files as bayer sensor data---the core algorithms used by dcraw to perform interpolation are unchanged.

Crops from the two images
Here are some crops from the simulated bayer and full-color sensor images. To make crop about the same size on the screen, the bayer image has been scaled 200% with "nearest neighbor", and the full-color image has been scaled 300%, also with "nearest neighbor"

The images speak nearly for themselves: my prediction was that the simulated bayer image would have higher resolution, and that appears to be the case. However, I also expected that some degree of color fringing would be present. In fact, it was quite easy to find a blur value (simulated in-camera low pass filter) to apply before converting to a bayer greyscale file that gave quite satisfactory results.

While these results are unlikely to end the debate among digital photographers, they illustrate to my satisfaction that comparing the number of photosites does not give an accurate impression of the relative resolution of a bayer and a full-color sensor. I suggest that the distance between the centers of green photosites may be a more useful benchmark. If this is the case, a Foveon sensor must have about 1.5x as many photosites as a Bayer sensor to convey the same amount of edge detail.

Files currently attached to this page:

povtest.sh307 bytes
topgmraw.py480 bytes

Entry first conceived on 23 October 2006, 18:15 UTC, last modified on 15 January 2012, 3:46 UTC
Website Copyright © 2004-2024 Jeff Epler