Linux Photos and Imaging
Imaging is my biggest non-development use of computers,
yet I wanted to use Linux full-time without having to
use Windows. Thanks to lots of hard work by many Linux
developers, that's no problem!
Linux is great for processing large numbers of images; the command
line is perfect when you just got back from a trip and you have
500 images that all need to be resized, thumbnailed and collected
into a web page.
I haven't seen a good collection of Linux imaging links
(no doubt they exist somewhere -- if you know of one, by all
means Let me know and I'll add it here)
so I started this page.
Check out my new book!
Beginning GIMP: From Novice to
Professional is available from your favorite bookseller
as of May, 2006.
Software I've written:
I've written a little image viewer/slide show program called
pho which is primarily intended
for use on large collections of images after uploading or scanning,
and a set of useful batch image
processing scripts for the same purpose (e.g. you return
from a vacation and have 600 images to resize and put into web pages).
My scripts use the netpbm utilities to do things like resize, rotate
and translate between formats. After I wrote them, I found out that
ImageMagick also offers a great command-line utility, convert.
Also, I have a GIMP plug-in called
Pandora for stitching panoramas,
plus a few simpler GIMP plug-ins for
making labels and business
cards and for
making CD labels.
Other Useful Linux Imaging Web Sites
Linux Imaging Software and Drivers
The premiere open-source image processing program.
- The Gimp Printing
(Gutenprint) Project which also provides high quality
printer drivers for many printers on Linux and Mac OS X.
supports a huge list of digital cameras, including many
USB cameras which aren't yet supported by Linux drivers.
(I don't actually use it myself since my camera is serial.)
a USB/serial userspace driver for the Canon PowerShot digital cameras
- SANE Scanner Access Now
Easy, a Linux scanning protocol. Check here for lists of supported
- HDR Images and Tone Mapping
- Blank Slate Wacom
Graphire USB howto
- Wacom Graphire2 USB,
X, and the Gimp
- PfaEdit is a
font editing program
a new program from the gimp-print developers for printing photos
- Gdk-pixbuf chapter in Writing GNOME Applications.
- sketch and sodipodi are two vector drawing programs.
- OpenSWF: I didn't know 'til
recently that Shockwave Flash was an open format and has free tools
Collections of GIMP tutorials
Good Tutorials for Specific Projects
Other Useful Information
Nifty GIMP Plug-ins
Imaging Hardware I've used:
See my camera review page for more
details of what I like and don't like about these cameras.
The Minolta Dimage Xt and Olympus C-730 UltraZoom work great with
Linux. They use usb-storage protocol, so you can mount them like
an external disk and copy/move photos off them, or you can use
a photo application if that's what you prefer.
The Canon A540 and Canon Elph S20 use the annoying USB camera
protocol. Linux can talk to them, but only through an app like
gPhoto, and usually only after endless fiddling trying to get gPhoto
to recognize the camera. If you just want to snarf all your latest
images onto the computer so you can deal with them there,
you're better off using an external card reader.
- Epson C86 (parallel/USB)
I got tired of fighting with Debian, which refused to
support the Photo 700, and bought a C86. It's much faster
and quieter than the 700, and very well supported (use the
C84 setting on older Linux distros that don't list C86).
And it uses the Dura-Bright fade-resistant inks.
But then Debian flaked out on this printer as well and I gave
up and switched to Ubuntu, which drives the C86 just fine.
- Epson Photo 700 (parallel)
I know, it's ancient now, but it worked well
and gimp-print supports it wonderfully.
Debian-based distros sometimes don't; try the new "printconf"
package (not to be confused with the old printconf print spooler
which was the default in Redhat for so many years).
- Lexmark Z52 (parallel/USB)
My husband tried this because they falsely advertised Linux support.
Ick! Don't buy Lexmark.
- Epson Perfection 2400
Well supported by sane-epson, including the slide attachment.
Slides tend not to focus very well, unfortunately,
and the preview in xsane doesn't show enough detail to tell
whether it's focused or not, or how good the exposure is.
Some day maybe I'll write an app for scanning slides.
Sane installations tend not to see this scanner automatically.
You'll probably need to edit /etc/sane.d/epson.conf
and uncomment the appropriate line depending on whether I'm
running a kernel with the scanner module, or using libusb
outside the kernel.
If using the kernel module,
also make sure it points to the right device for your system,
/dev/usb/scanner0 or /dev/usbscanner0.
- Microtek Scanmaker 3600
Was supported as a
SANE backend (but not the transparency adaptor, which is moot because
it doesn't seem to be possible to buy the transparency adaptor anyway).
Trying to get it working was quite confusing:
don't bother trying to download and apply the patch, just go
to the SANE site
and get the latest release (anything after 1.0.5) and the
sm3600 driver will be built in. (Strangely, it isn't built in
to the sane-backends 1.0.5 Redhat RPM.)
on the sm3600 page for setting up
hotplug to recognize the scanner work fine.
Once I did that, the Microtek worked fine, but I replaced it with
the Epson because I wanted a slide-capable scanner.
- Umax parallel scanner
Ick. Umax scanners use a proprietary protocol and won't release
specs, so there's not much linux support. Avoid.
Flash memory readers:
I've removed this section because basically they all work now.
- Wacom Graphire 2 tablet
I've found this quite hard to set up on Linux. Sometimes it works,
sometimes it doesn't. See
EXIF is a format digital cameras use in order to store
meta-information (such as exposure data) in jpeg images.
It turns out that there are quite a few open-source programs to
manipulate EXIF information.
EXIF Jpeg camera setting parser and thumbnail remover.
This is the EXIF reader I use.
Small, neat and simple.
Command line, Linux and Windows.
Camera Image Meta-Information Reader. Primarily Nikon and Olympus.
Bigger than jhead, C++, but works nicely.
I couldn't build these -- they require some include files that I don't have.
Anyway, they're meant for cameras running "Digita",
mostly HP and Kodak cameras (not my Olympus).
These don't belong here, but they're just too cool and I wanted to
save the links somewhere ...
General Linux links
Shallow Sky home