The Graphics Lab on Your Linux Desktop
A Wealth of Graphics Tools
I hate taking pictures with film. You'd think, despite several years of practice, and even some time spent as an acolyte in various darkrooms where I learned to mix chemicals just so and mastered the arcana of dodging and burning under an enlarger, that I'd be singing the praises of the analog development process.
I want to be able to look at pictures I've taken the moment I'm back from wherever I took them. I want to be able to play with them without worrying about either printing up a second set or having to pay for three or four prints in case my collages don't work out right the first time. I want to be able to manipulate and work the images I take until they suit me if I didn't get the shot quite right.
I was waiting for digital photography when it came along, and I embrace it with open arms. It's the perfect combination of instant feedback, manipulatable results, and the joy of picture taking. It's also a hobby that's well-supported under Linux: there's a digital photolab sitting on your desk, even if you've sworn off Windows.
This is a look at a set of GNOME/GTK programs that all work together to give you the tools you need to produce great web graphics, enhance your photos, and explore your creative side. If you just want to get the red-eye out of photos before putting them up on your web page, or if you feel like making elaborate photo-collages, these tools start with the basic act of getting your digital camera to talk to your PC, and end with making simple slideshows of the finished product.
The first step to getting an image into your computer is to get your computer to talk to your camera. That's where gPhoto (currently at version 0.4.3) comes in. gPhoto offers a collection of well over 100 drivers for digital cameras of all sorts. At this point, the bulk of the support is for standard serial connections, but if you're willing to work with the developer's version and spend a little time learning enough about CVS to grab the very latest work, there's also some support for USB-connected devices. gPhoto is available as part of the Helix Code GNOME distribution, or you can download a variety of binary packages (including some for various BSD distributions), source archives, or read about using CVS from the project download page.
gPhoto has a fairly clean design, and it's very easy to configure your camera. (The process is shown at the right.) You should know which serial port your camera is connected to, keeping in mind, as usual, that Linux serial ports are numbered starting from '0': COM1 under Windows is ttyS0 under Linux, COM2 is ttyS1, and so on.
Once you're sure of which port your camera is connected to, selecting gPhoto's "Configure" menu will allow you to select your camera model, the port it's connected to, and (depending on model) configure a few other items as well. On my Canon PowerShot S-10, I was able to synchronize the time between my PC and camera and browse the files stored on the camera's compact flash card. Even more importantly, the setup screen allows you to set the speed at which your camera talks to your computer. Failure to set this within gPhoto itself will mean excruciatingly long download times. Set this value to 115,200: if your camera or computer need to step down to a lower speed for whatever reason, they'll still select the best speed possible, which is better than the default 9600.
There are several ways to grab photos from your camera using gPhoto. It offers the opporunity to download thumbnail images (also shown at right), which allow you a small preview before deciding to download an entire image, or you can opt to download a simple, picture-free index. Either way, when you do choose to finally download the complete images, you can either save them directly to disk after assigning them a filename prefix (which is handy for separating the results of multiple photo sessions) or you can load them into tabbed windows within gPhoto.
If you choose to open the images within gPhoto itself, you can do a little pre-processing work before saving them to disk. gPhoto offers a few simple tools for basic color correction, image scaling, and rotating or flipping. You can use these to clean up pictures you don't plan to do much else with if you don't want to bother with loading the GIMP, but they don't offer an exceptional amount of features: just enough to tidy things up, or decide if you need to head back out to reshoot something that might be beyond digital salvage.
There are a few caveats when it comes to using gPhoto. The program is still under development, and there are a few rough spots. Sometimes, if you know your camera is connected properly and have no reason to doubt your system configuration, but it seems like nothing's talking to anything else, closing gPhoto and restarting both the program and your camera usually fixes things. Nothing gets lost, and it seems to cure most problems. There's also sometimes a slight disconnect between what your camera thinks an image is called, and what gPhoto will label it. It pays to wait a few seconds and dowload the thumbnails before queuing up which images you want to save to disk.
It's also useful to pay a visit to Google. Many digital cameras have the same basic architecture, despite differences in brand names or model numbers. If a camera isn't listed as supported by gPhoto, there's a good chance it's closely related enough to a supported model that you'll still be able to get camera and software to talk.
gPhoto offers a very friendly and easy-to-use package that covers a wide
array of cameras. When I was shopping for a camera, I loaded the supported
list of cameras on to my Palm and went shopping. I was pleasantly
surprised to notice that there was support for almost every model on the
shelves of several local merchants. The only exception was a $75 toy.
Everything else, from $200 beginner models to pricier almost-$1000 units
were supported by gPhoto.