ExifTool is a platform-independent Perl library plus a command line application for reading, writing, and editing meta-information in image, audio, and video files. It supports many different types of metadata including EXIF, GPS, IPTC, XMP, JFIF, GeoTIFF, ICC Profile, Photoshop IRB, FlashPix, AFCP, and ID3, as well as the maker notes of many digital cameras.
Exiv2 is a C++ library and a command line utility for managing image metadata. It provides fast and easy read and write access to the Exif, IPTC, and XMP metadata of images in many formats. The Exiv2 command line utility prints Exif, IPTC, and XMP metadata including Makernote tags in various formats, adjusts Exif timestamps, renames images according to the Exif timestamp, extracts and inserts Exif, IPTC, and XMP metadata and JPEG comments, or deletes the thumbnail or a specific type of metadata from an image.
LibRaw is a library for reading RAW files obtained from digital photo cameras (CRW/CR2, NEF, RAF, DNG, and others). LibRaw is based on the source codes of the dcraw utility, though some of the drawbacks of dcraw have been eliminated. The users of the library are provided with an API to be used when writing their software programs.
Mimas Toolkit is a C++ computer vision toolkit. It is easy to use and includes tools for edge detection, corner detection, various filters, optic flow, tracking, blob analysis, Web cam tools for real-time applications, and much more. It also includes many implementations of traditional algorithms such as Canny. It was developed for GNU/Linux but as the GUI is largely separate, porting to other platforms should be straightforward.
Morena is a Java framework that allows a Java program to acquire an image from a scanner or camera. To communicate with the hardware, it uses standard interfaces: Twain for MS Windows and Mac OS X and Sane for a number of Unix platforms (AIX, BeOS, Darwin, FreeBSD, HP-UX, Linux, NetBSD, OpenBSD, OS2, Solaris, Unixware).
fastcgi-gallery is a Web gallery based on Apache::Gallery, but is hacked for usage with Perl FastCGI scripts. Therefore, this version is about 10x quicker (with cache turned on) than Apache::Gallery. With the best template system (Template-Toolkit) you can customize your gallery as you wish; for example, you can create a multi-language gallery. A database is not used; everything is stored in files. Output and generated thumbnails are cached for speed optimization.
libiptcdata is a C library for manipulating the International Press Telecommunications Council (IPTC) metadata stored within multimedia files such as images. This metadata can include captions and keywords, often used by popular photo management applications. The library provides routines for parsing, viewing, modifying, and saving this metadata. The libiptcdata package also includes Python bindings and a command-line utility, iptc, for viewing and editing IPTC data in JPEG files.