Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

makecform

色変換構造体を作成

説明

関数 makecform は、Commission Internationale de l'Éclairage (CIE: 国際照明委員会) で定義されているデバイス非依存の色空間群の間での変換をサポートしています。makecformsRGBCMYK 色空間との間の変換もサポートします。色空間変換を行うため、makecform で作成される色変換構造体を関数 applycform に引数として渡します。

C = makecform(type) は、type で指定した色空間変換を定義する色変換構造体 C を作成します。

C = makecform(type,'WhitePoint',WP) は、'xyz2lab' または 'lab2xyz' 変換に対して基準白色点 WP の値を指定します。

C = makecform(type,'AdaptedWhitePoint',WP) は、'srgb2lab''lab2srgb''srgb2xyz' または 'xyz2srgb' 変換に対する順応白色点 WP を指定します。

C = makecform('adapt','WhiteStart',WPS,'WhiteEnd',WPE,'AdaptModel',model) は、色順応モデル model を使用して、開始白色点 WPS と終了白色点 WPE で線形色順応色変換を作成します。

C = makecform('srgb2cmyk','RenderingIntent',intent) および

C = makecform('cmyk2srgb','RenderingIntent',intent) は、sRGB IEC61966-2.1 と "Specifications for Web Offset Publications" (SWOP) CMYK との間の色変換に対する描画意図を指定します。

C = makecform('icc',src_profile,dest_profile) は、2 つの ICC プロファイル src_profile および dest_profile をベースに色変換を作成します。

C = makecform('icc',src_profile,dest_profile,'SourceRenderingIntent',src_intent,'DestRenderingIntent',dest_intent) は、ソース プロファイルと対象プロファイルに対して、描画意図を指定することで、2 つの ICC カラー プロファイル src_profiledest_profile をベースに色変換を作成します。

C = makecform('mattrc',MatTRC,'Direction',direction) は、進行または逆方向で、Matrix/Tone Reproduction Curve (MatTRC: 行列/階調再現曲線) モデルをベースに色変換を作成します。

C = makecform('mattrc',profile,'Direction',direction) は、進行または逆方向で、ICC カラー プロファイル profile'MatTRC' フィールドをベースに色変換を作成します。

C = makecform('mattrc',profile,'Direction',direction,'RenderingIntent',trc_intent) は描画意図を指定するオプションを追加します。

C = makecform('graytrc',profile,'Direction',direction) は、ICC カラー プロファイルに含まれる single-channel Tone Reproduction Curve (GrayTRC: シングルチャネル階調再現曲線) をベースにモノクロ変換を作成します。

C = makecform('graytrc',profile,'Direction',direction,'RenderingIntent',trc_intent) は描画意図を指定するオプションを追加します。

C = makecform('clut',profile,LUTtype) は、ICC カラー プロファイル profile に含まれる LUTtype タイプのカラー ルックアップ テーブルをベースに色変換を作成します。

C = makecform('named',profile,space) は、色空間 space の座標に対する ('NamedColor2' フィールドで) 名前付きカラー プロファイルから色変換を作成します。

sRGB イメージの L*a*b* への変換

入力イメージが sRGB と仮定して、RGB イメージを L*a*b* に変換します。

rgb = imread('peppers.png');
cform = makecform('srgb2lab');
lab = applycform(rgb,cform);

RGB から XYZ への変換

非標準 RGB カラー プロファイルを、デバイス非依存の XYZ プロファイル接続空間に変換します。MatTRC 値が ICC 入力プロファイルに含まれなければならないことに注意してください。

InputProfile = iccread('myRGB.icc');
C = makecform('mattrc',InputProfile.MatTRC, ...
              'direction','forward');

入力引数

すべて折りたたむ

色空間変換タイプ。次のいずれかの文字ベクトルとして指定します。個々の色空間に対して Image Processing Toolbox™ ソフトウェアで使われる省略形のリストに関しては、詳細を参照してください。

説明

'cmyk2srgb'

CMYK 色空間から sRGB 色空間に変換します。

'lab2lch'

L*a*b* から L*ch 色空間に変換します。

'lab2srgb'

代わりに lab2rgb を使用してください。

'lab2xyz'

代わりに lab2xyz を使用してください。

'lch2lab'

L*ch から L*a*b* 色空間に変換します。

'srgb2cmyk'

sRGB から CMYK 色空間に変換します。

'srgb2lab'

代わりに rgb2lab を使用してください。

'srgb2xyz'

代わりに rgb2xyz を使用してください。

'upvpl2xyz'

uvL から XYZ 色空間に変換します。

'uvl2xyz'

uvL から XYZ 色空間に変換します。

'xyl2xyz'

xyY から XYZ 色空間に変換します。

'xyz2lab'

代わりに xyz2lab を使用してください。

'xyz2srgb'

代わりに xyz2rgb を使用してください。

'xyz2upvpl'

XYZ から uvL 色空間に変換します。

'xyz2uvl'

XYZ から uvL 色空間に変換します。

'xyz2xyl'

XYZ から xyY 色空間に変換します。

データ型: char | string

参照または順応白色点。Y = 1 になるようにスケーリングされた XYZ 値の 1 行 3 列の数値ベクトルを指定します。関数 whitepoint を使用して、WP ベクトルを作成します。既定の白色点は whitepoint('ICC') で返されるベクトルです。

パブリッシュ済みのいくつかの sRGB 式と整合性のある順応白色点を得るには、WP の値を [0.9504, 1.0000, 1.0888] に指定します。これは whitepoint('D65') で返されるベクトルです。

線形色順応変換に使用される開始または終了白色点。Y = 1 になるようにスケーリングされた XYZ 値の 1 行 3 列の数値ベクトルを指定します。関数 whitepoint を使用して、WPS または WPE ベクトルを作成します。

描画意図。'Perceptual''AbsoluteColorimetric''RelativeColorimetric' または 'Saturation' を指定します。

描画意図は、これらのプロファイルが組み合わさった場合に使われる再生成のタイプを指定します。多くのデバイスに対して、再生成された色の範囲は、PCS で表されている色の範囲よりかなり狭いものになります。描画意図は、色域マッピング手法を定義します。個々の描画意図は、美的な部分と色の精度とのトレードオフになります。

説明

'AbsoluteColorimetric'

範囲内のすべての色の関係を維持しながら、範囲外のすべての色を最も近い範囲の表面にマッピングします。この絶対レンダリングは、完全拡散反射面と相対的なカラー データを含んでいます。

'Perceptual' (既定の設定)

与えられたデバイスの生成可能な色の範囲を最適化するためのベンダー固有の色域マッピング手法を採用。目的は、範囲内の色間の関係が維持されていないとしても、最も見て美しい結果を与えることです。このメディア対応のレンダリングは、デバイスの白色点に対するカラー データを含んでいます。

'RelativeColorimetric'

範囲内のすべての色の関係を維持しながら、範囲外のすべての色を最も近い範囲の表面にマッピングします。このメディア対応のレンダリングは、デバイスの白色点に対するカラー データを含んでいます。

'Saturation'

デバイス カラーの飽和状態を最大にする手法でベンダー固有の色域マッピングを採用。このレンダリングは、棒グラフや円グラフのような簡単な商用グラフに対して、一般に使われます。このメディア対応のレンダリングは、デバイスの白色点に対するカラー データを含んでいます。

2 つの ICC プロファイル間の色変換に対するソースまたは対象の描画意図。'Perceptual''AbsoluteColorimetric''RelativeColorimetric' または 'Saturation' を指定します。詳細は、intent を参照してください。

階調再現曲線 (MatTRC または grayTRC) の描画意図。'RelativeColorimetric' または 'AbsoluteColorimetric' を指定します。'AbsoluteColorimetric' が指定された場合、色調は ICC カラー プロファイル profile のメディア白色点ではなく、完全拡散を参照します。詳細は、intent を参照してください。

線形色順応変換を作成するために使用する色順応モデル。'Bradford' または 'vonKries' を指定します。

ICC カラー プロファイル。iccread によって返される構造体として指定します。profile が名前付きカラー プロファイルである場合、NamedColor2 フィールドがなければなりません。

ソースまたは対象の ICC カラー プロファイル。iccread によって返される構造体として指定します。

行列/階調再現曲線モデル。構造体として指定します。MatTRC は、ICC カラー プロファイルに含まれるタグをベースにした iccread で返される ICC プロファイル構造体の 'MatTRC' フィールドから一般に取得されます。MatTRC モデルは RGB から XYZ への行列と RGB 階調再現曲線を含みます。

階調再現曲線モデルを適用する方向。'forward' または 'inverse' を指定します。

  • マルチチャネル階調再現曲線 ('mattrc') では、'forward'RGB から XYZ 方向にモデルを適用し、'inverse'XYZ から RGB 方向にモデルを適用します。詳細については、International Color Consortium 仕様 ICC.1:2001-04 または ICC.1:2001-12 (http://www.color.org) の Section 6.3.1.2 を参照してください。

  • シングルチャネル階調再現曲線 ('graytrc') では、'forward' はデバイスから PCS 方向にモデルを適用し、'inverse' は PCS からデバイス方向にモデルを適用します。ここの "デバイス" は、モノクロ デバイスと通信するグレースケール信号のことです。"PCS" は、ICC プロファイルのプロファイル接続空間で、profile.Header 内の 'ConnectionSpace' フィールドに依存し、XYZL*a*b* のいずれかになります。

ルックアップ テーブル タイプ。次のいずれかの値として指定します。LUTtypeprofile 構造体で、どの 'clut' が使用されるかを指定します。次の表に記載されている各 LUTtype は、特定のレンダリングを使用してデバイス カラーと PCS カラーとの間の変換を実行する 8 ビット または 16 ビットの LUT タグの要素を含みます。'clut' 変換の詳細は、International Color Consortium 仕様 ICC.1:2001-04 (Version 2) の Section 6.5.7 か、ICC.1:2001-12 (Version 4) の Section 6.5.9 を参照してください。これらは、http://www.color.org から参照できます。

LUT タイプ

説明

'AToB0' (既定の設定)

デバイスから PCS: 知覚的な描画意図

'AToB1'

デバイスから PCS: メディア対応の比色分析描画意図

'AToB2'

デバイスから PCS: 飽和描画意図

'AToB3'

デバイスから PCS: ICC 絶対描画意図

'BToA0'

PCS からデバイス: 知覚的な描画意図

'BToA1'

PCS からデバイス: メディア対応の比色分析描画意図

'BToA2'

PCS からデバイス: 飽和描画意図

'BToA3'

PCS からデバイス: ICC 絶対描画意図

'Gamut'

与えられたデバイスに対して、どの PCS カラーが範囲外になるかを決定

'Preview0'

PCS カラーから、知覚的なレンダリングを使う soft-proofing で利用可能な PCS カラー

'Preview1'

メディア対応の比色分析レンダリングを使う soft-proofing で利用可能な PCS カラー

'Preview2'

PCS カラーから、飽和レンダリングを使う soft-proofing で利用可能な PCS カラー

色空間。'PCS' または 'Device' を指定します。'PCS' オプションは、常に利用可能で、L*a*b* または XYZ 座標を返します。この値は、profile.Header 内の 'ConnectionSpace' フィールドに依存します。'Device' オプションはアクティブな場合、デバイス座標と次元を返します。その値は、profile.Header 内の 'ColorSpace' フィールドに依存します。座標は、常に 'double' 形式で返されます。

出力引数

すべて折りたたむ

色変換構造体。struct として返されます。

詳細

すべて折りたたむ

色空間の省略形

Image Processing Toolbox は、色空間を表現するために、次の省略形を使います。

省略形

説明

xyz

1931 CIE XYZ 三刺激値 (2 度視野)

xyl

1931 CIE xyY 色度値 (2 度視野)。x および y は、関連 CIE 色度ダイアグラムの xy 座標を参照し、l は、Y (輝度) を参照します。

uvl

1960 CIE uvY 値。u および vuv 座標を参照し、lY (輝度) を参照します。

upvpl

1976 CIE uvY 値。up および vpuv 座標を参照し、lY (輝度) を参照します。

lab

1976 CIE L*a*b* 値。l は、L* (CIE 1976 心理計測明度) のことです。輝度 (Y) ではないことに注意してください。

lch

CIE L*a*b* 値の極変換。ここで、c = chroma であり、h = hue です。

cmyk

プリンターに使用される標準値

srgb

標準のコンピューター モニター RGB 値 (IEC 61966-2-1)

R2006a より前に導入