Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

colorChecker

X-Rite ColorChecker テスト チャート

説明

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

作成

説明

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

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

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

入力引数

すべて展開する

名前と値のペアの引数

オプションの引数 Name,Value のコンマ区切りペアを指定します。Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を、任意の順番で指定できます。

例: 'Downsample',false

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

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

チャート検出の感度。'Sensitivity' と範囲 [0, 1] の数値で構成されるコンマ区切りのペアとして指定します。感度の値を高く設定すると、colorChecker はテスト チャート イメージを位置合わせするためにより多くの関心点を検出します。

データ型: single | double

プロパティ

すべて展開する

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

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

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

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

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

フィールド説明
ROIROI の空間範囲を指定する 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重ね合わせた関心領域を含むテスト チャートの表示

すべて折りたたむ

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

I = imread('colorCheckerTestImage.jpg');

イメージを表示します。

imshow(I)
title('Captured Image of ColorChecker Chart')
text(size(I,2),size(I,1)+15,['Chart courtesy of X-Rite' char(174)], ...
    'FontSize',10,'HorizontalAlignment','right')

Figure contains an axes. The axes 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. The axes contains 25 objects of type image, text.

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

I = imread('colorCheckerTestImage.jpg');

イメージを表示します。

imshow(I)
title('Captured Image of ColorChecker Chart')
text(size(I,2),size(I,1)+15,['Chart courtesy of X-Rite' char(174)], ...
    '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)

ヒント

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

参照

[1] 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 で導入