The Graphics Lab on Your Linux Desktop

A Wealth of Graphics Tools

August 1, 2000

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.

No way.

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.

gPhoto
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.