Main Content

makecform

色変換構造体を作成

説明

関数 makecform は、"Commission Internationale de l'Éclairage" (CIE: 国際照明委員会) で定義されているデバイス非依存の色空間群の間での変換をサポートしています。makecform は sRGB 色空間と CMYK 色空間との間の変換もサポートします。色空間変換を行うため、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) は、("NamedColor2" フィールドをもつ) 名前付きカラー プロファイルから色空間 space の座標への色変換を作成します。

すべて折りたたむ

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

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

非標準 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"

u′v′L 色空間から XYZ 色空間に変換します。

"uvl2xyz"

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

"xyl2xyz"

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

"xyz2lab"

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

"xyz2srgb"

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

"xyz2upvpl"

XYZ 色空間から u′v′L 色空間に変換します。

"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 (https://www.color.org) の Section 6.3.1.2 を参照してください。

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

ルックアップ テーブル タイプ。次のいずれかの値として指定します。LUTtype は、profile 構造体でどの "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 を参照してください。これらは、https://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 u′v′Y 値。up および vpuv′ 座標を参照し、lY (輝度) を参照します。

lab

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

lch

CIE L*a*b* 値の極変換。ここで、c は彩度、h は色相です。

cmyk

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

srgb

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

参照

[1] International Color Consortium. https://www.color.org.

バージョン履歴

R2006a より前に導入