Friday, May 16, 2008

Canon Users Check Out CHDK

CHDK is a software hack for Canon cameras that adds a great deal of functionality to low-end models. Because it is software that loads into memory and executes as opposed to a firmware modification, it does not pose any risk of bricking your camera. Simply restart your camera and functionality is restored to normal.

I have a Canon Powershot S2 IS, and there are a number of aspects of the camera that I have found very irritating. While this software can't fix the mediocre lens and sensor, it does allow you to get the absolute maximum performance they are capable of.

I enjoy night photography, but the combination of a maximum ISO rating of 400 and 15 second exposure maximum wasn't sufficient for many low light night situations. Also, the sensor is noisy and low contrast subjects show some noise even at ISO 50, and the camera firmware gives you no method of setting it lower.

While the software can't overcome physical limitations of the camera, it does overcome some nasty software limitations. I can now take exposures up to 64 seconds. During low light night photography the difference between 15 second and 64 second exposures is more dramatic than one might think. It really has made a difference in terms of the scope of things I can photograph at night.

Prior to this I recently discovered what I have come to learn is called "frame stacking", adding together the image data from multiple frames to simulate a longer exposure, there is nothing that prevents frame stacking from being applied to 64 second exposures further expanding the dark light capabilities of the camera.

When there is adequate light, I can now take advantage of lower ISO values to get less noisy images. Unfortunately, the image sensor in the S2 IS model does not seem to be capable of more than ISO 400, however, even ISO 400 is so noisy with this sensor that it's marginally usable.

CHDK also allows you to use the full mechanical range of the lenses F-stop settings. Unfortunately this only results in a very modest extension on the S2 IS because the lens is not capable of much more than F8.

CHDK adds the capability to capture raw images on Canon models. Older low-end Canon cameras and most newer Canon cameras do not have this capability built-in. This is useful if you are going to be doing post-processing since it preserves the full dynamic range of the captured image and there is no distortion or data loss resulting from jpeg encoding. You are then free to encode the image however you feel fit in external software.

The raw feature however does not give you the same quality as a good DSLR, the reason is that the sensors used on low end Canon cameras are only 10 bits/channel and tiny. 10 bits/channel limits dynamic range and the low size of the sensor limits light gathering capability and thus limits sensitivity and noise immunity. A DSLR will generally have a sensor that provides 12 bits/channel and generally has a larger sensor that can gather more light and provide a higher quality image with less lighting.


Another nice feature that is added is a realtime histogram. Before, I could only guess at night exposure, take the image, look at the image and the histogram, and then adjust and try again. Now, I can get the exposure close on the first exposure. This has resulted in a much larger percentage of my night shots being usable.

Another nice feature, CHKD offers the ability to monitor how much battery is left either in percentage or in terms of battery voltage. The existing battery monitor was almost useless when operating off of NiMH batteries as it gave only three values, full, half-full, and empty, and because NiMH is only 1.2 volts/cell the meter would only be "full" for the first few minutes of operation. It would then be half for the majority of operation and about three minutes before shutdown, it would be empty.

Now, I have a meter that reads 0-100%, and I can adjust the voltage thresholds for full and empty so I can have it reflect the NiMH batteries I use rather than Alkaline batteries. This gives me a much better idea of how much power I have left and helps avoid unexpected interruptions.

CHKD added some very nice video compression capability, the constant bit rate compression used by cannon was fixed at 1MB/S and video recorded at that compression ratio was good quality but with the 1GB limit it didn't even allow half-hours worth of video to be recorded in high quality. With the variable bit rate; I have found I can get reasonable quality and close to two hours of video on a 2GB card. The unit will still only allow one hour at a time to be recorded, even though it overcomes the 1GB file limit, an hour limit seems to be built into the units firmware. Fixed bit rate options ranging from .25MB/s to 3.0MB/s are available allowing even higher quality video than the original.

CHKD gives the user a great deal of control over what information is displayed, and there is a great deal of flexibility in how this information is displayed.

CHKD also has a built-in BASIC interpreter that allows users to write scripts to provide more complex functions and a multitude of such scripts exist, including motion detection. The motion detection is fast enough even for capturing lightning strikes. I have not had a chance to test scripts yet but will report back in the future when I do.

There is much more to CHDK, click on the title of this article to be taken to the CHDK Wiki which provides more information.

This photo is an example of one that would have been impossible without this software. It is taken only with moonlight and some light from a nearby homes porch light. Yes, there is some noise, but it would have been totally impossible without the additional two F-stops that the longer exposure time buys.

Haunted

0 Comments:

Post a Comment

Links to this post:

Create a Link

<< Home

Google