ICC color profiles are small files, or packets of data, that define transformations from one color space to another. Color profiles can be inserted at various stages in an image processing workflow—from scanner to computer, computer to printer, and even monitor to eye—to ensure that accurate colors are maintained throughout the workflow.
Color profiles can also be embedded within image files, for the purpose of mapping the color space in which an image was produced to its internal color data. This enables viewers to reproduce image colors accurately, as they were seen by the producer. By embedding a profile, the producer need not know anything about the displays on which an image will be viewed, and need not destructively modify the color values within the image data itself.
All Cantaloupe processors that read raster images automatically respect embedded ICC profiles in source images and copy them into derivative images.
Note that one color profile in particular, sRGB, has become a "de facto" standard profile on the World Wide Web. There is typically no need to embed an sRGB profile into profile-less images, as viewers will tend to automatically assume that these map to an sRGB space, and apply the conversion themselves. There is therefore no provision for embedding profiles into profile-less images.
Most processors support embedded color profiles; see the table of processor-supported features.