Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

colorChecker

Calibrite ColorChecker テスト チャート

R2020b 以降

説明

colorChecker オブジェクトは、Calibrite ColorChecker® Classic テスト チャート (かつて X-Rite® と GretagMacbeth® により開発されたもの) の関心領域 (ROI) の位置と測定値を格納します[1]

作成

説明

chart = colorChecker(A) は入力イメージ A から colorChecker オブジェクトを作成します。入力イメージは Image プロパティを設定します。

chart = colorChecker(A,Name,Value) は、1 つ以上の名前と値の引数を使用して自動チャート検出を制御します。

chart = colorChecker(A,"RegistrationPoints",p) は、colorChecker オブジェクトを作成し、p で指定された点を使用して RegistrationPoints プロパティを設定します。

入力引数

すべて展開する

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

例: chart = colorChecker(A,Downsample=false) は、チャート検出のためにチャート イメージをダウンサンプリングしません。

R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。

例: chart = colorChecker(A,"Downsample",false) は、チャート検出のためにチャート イメージをダウンサンプリングしません。

チャート検出のチャート イメージのダウンサンプリング。数値または logical の 1 (true) または 0 (false) として指定します。true の場合、colorChecker は最小次元のサイズが 1000 になるよう、縦横比を維持したままでイメージのサイズを変更します。ダウンサンプリングにより、colorChecker はより高速にチャートを検出できます。

colorChecker は、ダウンサンプリングしたイメージを検出のみに使用します。オブジェクトは、元のイメージを使用してすべてのプロパティを計算します。

チャート検出の感度。範囲 [0, 1] の数値として指定します。感度の値を高く設定すると、colorChecker はテスト チャート イメージを位置合わせするためにより多くの関心点を検出します。

データ型: single | double

プロパティ

すべて展開する

この プロパティ は読み取り専用です。

テスト チャート イメージ。RGB イメージとして指定します。

データ型: single | double | uint8 | uint16

この プロパティ は読み取り専用です。

カラー パッチの位置と強度の値。構造体の 24 行 1 列ベクトルとして指定します。ベクトルの各要素が 1 つの ROI に対応し、以下のフィールドを含みます。

フィールド説明
ROI

ROI の空間範囲を指定する 1 行 4 列のベクトル。ベクトルの形式は [X Y Width Height] です。X と Y は ROI の左上隅の座標です。Width と Height は ROI の幅と高さ (ピクセル単位) です。ROI のデータ型は double です。

ROIIntensity

ROI 内の色値の配列。配列の次元は、Height x Width x 3 です。ROIIntensity のデータ型は、Image プロパティのデータ型と一致します。

レジストレーション ポイントの座標。4 行 2 列の数値行列として指定します。レジストレーション ポイントは、チャートの外側のコーナーにあるプラス型 (+) 基準点の (x,y) 座標です。行列の各行には 1 つのレジストレーション ポイントの座標が含まれます。最も近いカラー パッチの色に従い、ポイントを "黒"、"白"、"ダーク スキン"、"ブルー グリーン" の順に指定します。

データ型: double

オブジェクト関数

measureColorテスト チャートを使用した色再現の測定
measureIlluminantテスト チャートを使用したシーンの光源の測定
displayChart重ね合わせた関心領域を含むテスト チャートの表示

すべて折りたたむ

ColorChecker® チャートのイメージをワークスペースに読み取ります。

I = imread("colorCheckerTestImage.jpg");

イメージを表示します。

imshow(I)
title("Captured Image of ColorChecker Chart")
text(size(I,2),size(I,1)+15,"Chart courtesy of Calibrite", ...
    "FontSize",10,"HorizontalAlignment","right")

Figure contains an axes object. The axes object with title Captured Image of ColorChecker Chart contains 2 objects of type image, text.

イメージ上で自動チャート検出を行い、colorChecker オブジェクトを作成します。

chart = colorChecker(I)
chart = 
  colorChecker with properties:

                 Image: [1024x1541x3 uint8]
    RegistrationPoints: [4x2 double]
             ColorROIs: [24x1 struct]

colorChecker オブジェクトがチャートを正しく検出したことを確認するために、チャートおよび検出された ROI を表示します。各 ROI は、該当するカラー パッチの中央に青の四角形として表示されます。レジストレーション ポイントは、チャートの外側のコーナーに赤のダイヤモンドとして表示されます。

displayChart(chart)

Figure Color checker test chart contains an axes object. The axes object contains 25 objects of type image, text.

ColorChecker® チャートのイメージをワークスペースに読み取ります。

I = imread("colorCheckerTestImage.jpg");

イメージを表示します。

imshow(I)
title("Captured Image of ColorChecker Chart")
text(size(I,2),size(I,1)+15,"Chart courtesy of Calibrite", ...
    "FontSize",10,"HorizontalAlignment","right")

チャートのコーナーにあるプラス型 (+) 基準点に重なる点 ROI を描画します。

blackPoint = drawpoint;
whitePoint = drawpoint;
darkSkinPoint = drawpoint;
bluishGreenPoint = drawpoint;

点 ROI の (x, y) 座標を 4 行 2 列の行列に結合します。

cornerPoints = [blackPoint.Position;
    whitePoint.Position;
    darkSkinPoint.Position;
    bluishGreenPoint.Position];

コーナーのレジストレーション ポイントの (x, y) 座標を指定して、colorChecker オブジェクトを作成します。

chart = colorChecker(I,"RegistrationPoints",cornerPoints);

colorChecker オブジェクトがチャートを正しく検出したことを確認するために、チャートおよび検出された ROI を表示します。

displayChart(chart)

ヒント

  • 参照値がわずかに異なる 2 つのバージョンの ColorChecker テスト チャートがあります。colorChecker オブジェクトの参照値は、チャートの "After November 2014" バージョンと一致しています。

参照

[1] Calibrite. "ColorChecker Classic". https://calibrite.com/us/product/colorchecker-classic/.

[2] Fernandez, P. D. M., F. A. Guerrero-Peña, T. I. Ren, and G. J. J. Leandro, "Fast and robust multiple ColorChecker detection using deep convolutional neural networks," Image and Vision Computing, Volume 81, 2019, pp. 15-24.

バージョン履歴

R2020b で導入