Products & Services Solutions Academia Support User Community Company

Learn more about Image Processing Toolbox   

iccread - Read ICC profile

Syntax

P = iccread(filename)

Description

P = iccread(filename) reads the International Color Consortium (ICC) color profile information from the file specified by filename. The file can be either an ICC profile file or a TIFF file containing an embedded ICC profile. To determine if a TIFF file contains an embedded ICC profile, use the imfinfo function to get information about the file and look for the ICCProfileOffset field. iccread looks for the file in the current directory, a directory on the MATLAB path, or in the directory returned by iccroot, in that order.

iccread returns the profile information in the structure P, a 1-by-1 structure array whose fields contain the data structures (called tags) defined in the ICC specification. iccread can read profiles that conform with either Version 2 (ICC.1:2001-04) or Version 4 (ICC.1:2001-12) of the ICC specification. For more information about ICC profiles, visit the ICC web site, www.color.org.

ICC profiles provide color management systems with the information necessary to convert color data between native device color spaces and device independent color spaces, called the Profile Connection Space (PCS). You can use the profile as the source or destination profile with the makecform function to compute color space transformations.

The number of fields in P depends on the profile class and the choices made by the profile creator. iccread returns all the tags for a given profile, both public and private. Private tags and certain public tags are left as encoded uint8 data. The following table lists fields that are found in any profile structure generated by iccread, in the order they appear in the structure.

Field

Data Type

Description

Header

1-by-1 struct array

Profile header fields

TagTable

n-by-3 cell array

Profile tag table

Copyright

Text string

Profile copyright notice

Description

1-by-1 struct array

The String field in this structure contains a text string describing the profile.

MediaWhitepoint

double array

XYZ tristimulus values of the device's media white point

PrivateTags

m-by-2 cell array

Contents of all the private tags or tags not defined in the ICC specifications. The tag signatures are in the first column, and the contents of the tags are in the second column. Note that iccread leaves the contents of these tags in unsigned 8-bit encoding.

Filename

Text string

Name of the file containing the profile

Additionally, P might contain one or more of the following transforms:

Examples

The example reads the ICC profile that describes a typical PC computer monitor.

P = iccread('sRGB.icm')

P = 

               Header: [1x1 struct]
             TagTable: {17x3 cell}
            Copyright: 'Copyright (c) 1999 Hewlett-Packard Company'
          Description: [1x1 struct]
      MediaWhitePoint: [0.9505 1 1.0891]
      MediaBlackPoint: [0 0 0]
        DeviceMfgDesc: [1x1 struct]
      DeviceModelDesc: [1x1 struct]
      ViewingCondDesc: [1x1 struct]
    ViewingConditions: [1x1 struct]
            Luminance: [76.0365 80 87.1246]
          Measurement: [1x36 uint8]
           Technology: [115 105 103 32 0 0 0 0 67 82 84 32]
               MatTRC: [1x1 struct]
          PrivateTags: {}
           Filename: 'sRGB.icm'

The profile header provides general information about the profile, such as its class, color space, and PCS. For example, to determine the source color space, view the ColorSpace field in the Header structure.

P.Header.ColorSpace

ans =

  RGB

See Also

applycform, iccfind, iccroot, iccwrite, isicc, makecform

  


Recommended Products

Includes the most popular MATLAB recorded presentations with Q&A sessions led by MATLAB experts.

 © 1984-2009- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS