How to integrate DSLR camera?

Just a thought at the moment, but would this be an API thing or does anyone know of a way to do this? Essentially looking to click a button and have a Canon DSLR camera take a photo.