Overview of OpenImageIO core APIs and components
mainOpenImageIO is an extensible image I/O library designed to abstract the reading and writing of 2D image file formats. It uses a plugin-based architecture where specific format support is implemented in dynamic libraries (DLLs, DSOs, etc.) loaded at runtime.
Core Components
- ImageInput & ImageOutput APIs: The primary interfaces for reading and writing image files. They are format-agnostic; the application interacts with the API, and the appropriate plugin handles the format details.
- ImageBuf: A helper class for storing and manipulating images in memory. It uses
ImageInputandImageOutputfor file operations and is compatible with theImageBufAlgonamespace for common image processing operations. - ImageCache: A class that manages large amounts of image data (potentially terabytes) efficiently by using a small runtime memory footprint (megabytes to a few gigabytes).
- TextureSystem: Provides filtered MIP-map texture lookups, built on top of
ImageCache. - Utility Programs: Includes
oiiotool(a command-line image processing engine) andiv(an image viewer).