Main Content

esfrChart

Imatest エッジ空間周波数応答 (eSFR) テスト チャート

説明

esfrChart オブジェクトは、Imatest® エッジ空間周波数応答 (eSFR) テスト チャートの関心領域 (ROI) の位置と測定値を格納します[1][2]

esfrChart オブジェクトは、eSFR テスト チャートの拡張版をサポートしています。このテスト チャートは、ISO 12233:2014 標準テスト チャートに基づいており、カラー ROI や追加の傾斜エッジ ROI などの視覚的特徴が追加されています。esfrChart オブジェクトは、背景にウェッジが追加された eSFR テスト チャートの拡張版もサポートしています。

作成

説明

chart = esfrChart(A) は、テスト チャートのイメージ A から esfrChart オブジェクトを作成します。esfrChart オブジェクトは、チャートの位置とスタイルを自動的に検出します。

chart = esfrChart(A,"Sensitivity",s) は、チャートの自動検出時、感度 s を使用して esfrChart オブジェクトを作成します。

chart = esfrChart(A,"RegistrationPoints",p) は、レジストレーション ポイントの位置 p を指定して esfrChart オブジェクトを作成します。

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

入力引数

すべて展開する

テスト チャート イメージ。RGB イメージを表す m x n x 3 の数値配列、またはグレースケール イメージを表す m 行 n 列の数値行列として指定します。この引数によって Image プロパティが設定されます。

グレースケール イメージを指定した場合、esfrChart オブジェクトによってピクセル強度値が 3 つのカラー チャネルに複製され、カラー イメージがシミュレートされます。この場合、関数 measureColor によって返される色の測定値は意味をもちません。

一部の測定関数では、テスト チャート データが sRGB 色空間内にあることを想定しています。イメージが sRGB 色空間内にない場合は、rgb2lab を使用してそのイメージを中間 L*a*b* 色空間に変換してから、lab2rgb を使用して sRGB 色空間に変換できます。

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

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

データ型: single | double

イメージを配置するために使用されるレジストレーション ポイントの位置。4 行 2 列の数値行列として指定します。4 つの行は、それぞれ、左上、右上、右下、および左下のレジストレーション ポイントに対応します。2 つの列は、[x, y] の形式のピクセル座標を表します。この引数によって RegistrationPoints プロパティが設定されます。

名前と値の引数

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

例: chart = esfrChart(A,Style="Extended") は、テスト チャートのスタイルを拡張版として指定します。

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

例: chart = esfrChart(A,"Style","Extended") は、テスト チャートのスタイルを拡張版として指定します。

テスト チャートのスタイル。"Enhanced""Extended""WedgeEnhanced"、または "WedgeExtended" として指定します。チャート スタイルを指定しない場合、既定では、esfrChart オブジェクトは関心点の数と位置に基づいてチャート スタイルを推定します。この引数によって Style プロパティが設定されます。

データ型: char | string

歪みの補正に使用されるカメラ パラメーター。cameraParameters (Computer Vision Toolbox) オブジェクトとして指定します。この引数を使用するには Computer Vision Toolbox™ が必要です。

傾斜したエッジ ROI の位置の調整。数値または logical の1 (true) または 0 (false) として指定します

esfrChart オブジェクトは、まず、レジストレーション ポイント RegistrationPoints に関する ROI の位置について最初の推定を行います。RefinePointstrue として指定されている場合、このオブジェクトは、次に、イメージの内容に関する局所化された情報を使用して、傾斜したエッジ ROI の位置を調整します。false の場合、このオブジェクトは傾斜したエッジ ROI の位置を調整しません。

プロパティ

すべて展開する

テスト チャート イメージ。m x n x 3 の数値配列として指定します。

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

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

フィールド説明
ROIROI の空間範囲。[X Y Width Height] の形式の 1 行 4 列のベクトルとして返されます。XY は ROI の左上隅の座標です。WidthHeight は ROI の幅と高さ (ピクセル単位) です。ROI のデータ型は double です。
ROIIntensityRGB 形式の ROI 内の強度値の配列。配列の次元は、Height x Width x 3 です。ROIIntensity のデータ型は、Image プロパティのデータ型と一致します。

esfrChart オブジェクトは、スタイルが "Enhanced" および "WedgeEnhanced" であるテスト チャートに含まれる傾斜したエッジ ROI の一部を除外します。

  • チャートのスタイルが "Enhanced" の場合、esfrChart オブジェクトは、インデックスが 1、19、41、および 59 である 4 つの ROI を除外。

  • チャートのスタイルが "WedgeEnhanced" の場合、esfrChart オブジェクトは、インデックスが 1、2、4、18、19、20、41、42、44、58、59、および 60 である 12 個の ROI を除外。

除外された ROI については、ROI フィールドの値が [NaN NaN NaN NaN] となり、ROIIntensity フィールドの値が空の配列 [] となります。

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

フィールド説明
ROIROI の空間範囲を指定する 1 行 4 列のベクトル。ベクトルの形式は [X Y Width Height] です。XY は ROI の左上隅の座標です。WidthHeight は ROI の幅と高さ (ピクセル単位) です。ROI のデータ型は double です。
ROIIntensityRGB 形式の ROI 内の強度値の配列。配列の次元は、Height x Width x 3 です。ROIIntensity のデータ型は、Image プロパティのデータ型と一致します。

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

フィールド説明
ROIROI の空間範囲を指定する 1 行 4 列のベクトル。ベクトルの形式は [X Y Width Height] です。XY は ROI の左上隅の座標です。WidthHeight は ROI の幅と高さ (ピクセル単位) です。ROI のデータ型は double です。
ROIIntensityRGB 形式の ROI 内の強度値の配列。配列の次元は、Height x Width x 3 です。ROIIntensity のデータ型は、Image プロパティのデータ型と一致します。

イメージを配置するために使用されるレジストレーション ポイントの位置。4 行 2 列の数値行列として指定します。4 つの行は、それぞれ、左上、右上、右下、および左下のレジストレーション ポイントに対応します。2 つの列は、[x, y] の形式のピクセル座標を表します。

データ型: double

CIE 1976 L*a*b* 色空間におけるグレー ROI の参照値。20 行 3 列の数値行列として指定します。3 つの列は、それぞれグレー パッチの L*、a*、および b* 値を含みます。これらの行には、20 個のグレー ROI の参照強度が同じ順番で格納されています。

メモ

esfrChart オブジェクトは、グレー ROI の既定の CIE 1976 L*a*b* 値を含みます。ただし、実際の参照値は、印刷品質などのいくつかの要因によって異なる場合があります。

データ型: double

CIE 1976 L*a*b* 色空間におけるカラー ROI の参照値。16 行 3 列の数値行列として指定します。3 つの列は、それぞれカラー パッチの L*、a*、および b* 値を含みます。これらの行には、16 個のカラー ROI の参照強度が同じ順番で格納されています。

メモ

esfrChart オブジェクトは、カラー ROI の既定の CIE 1976 L*a*b* 値を含みます。ただし、実際の参照値は、印刷品質などのいくつかの要因によって異なる場合があります。基準色の値が正確であると、より忠実な色再現の測定結果が得られます。

データ型: double

テスト チャートのスタイル。"Enhanced""Extended""WedgeEnhanced"、または "WedgeExtended" として指定します。

オブジェクト関数

measureSharpnessテスト チャートを使用した空間周波数応答の測定
measureChromaticAberration傾斜したエッジでの色収差の測定
measureNoiseテスト チャートのノイズの測定
measureColorテスト チャートを使用した色再現の測定
measureIlluminantテスト チャートを使用したシーンの光源の測定
displayChart重ね合わせた関心領域を含むテスト チャートの表示

すべて折りたたむ

eSFR チャートのイメージをワークスペースに読み取ります。イメージを表示します。

I = imread("eSFRTestImage.jpg");
imshow(I)
title("Captured Image of eSFR Chart")
text(size(I,2),size(I,1)+15,["Chart courtesy of Imatest",char(174)], ...
    FontSize=10,HorizontalAlignment="right");

チャート イメージを使用して esfrChart オブジェクトを作成します。

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

                 Image: [1836x3084x3 uint8]
       SlantedEdgeROIs: [60x1 struct]
              GrayROIs: [20x1 struct]
             ColorROIs: [16x1 struct]
    RegistrationPoints: [4x2 double]
                 Style: 'Extended'
      ReferenceGrayLab: [20x3 double]
     ReferenceColorLab: [16x3 double]

インポートした eSFR チャートを表示します。関心領域 (ROI) が強調表示され、ラベルが付けられます。

displayChart(chart)

チャートが正しくインポートされます。60 個の傾斜したエッジの ROI (緑色の数字でラベル付けされている) がすべて表示され、適切なエッジの中心に配置されます。20 個のグレー パッチ ROI (赤色でラベル付けされている) と 16 個のカラー パッチ ROI (白色でラベル付けされている) が表示され、各パッチの境界内に含まれます。

4 つのレジストレーション ポイントの座標を指定して、esfrChart オブジェクトを作成します。レジストレーション ポイントは、白黒チェックの円の中心にあります。

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

I = imread("eSFRTestImage.jpg");

イメージを表示し、4 つのレジストレーション ポイントを収集するように構成します。

figure
imshow(I)
[X, Y] = ginput(4);

左上、右上、右下、左下の順にレジストレーション ポイントをクリックします。

4 つのレジストレーション ポイントを指定して、esfrChart オブジェクトを作成します。インポートした eSFR チャートを表示します。関心領域が強調表示され、ラベルが付けられます。レジストレーション ポイントが赤色で表示されます。

chart = esfrChart(I,RegistrationPoints=[X, Y]);
displayChart(chart);

ヒント

  • 正確で信頼性の高い結果を得るには、ISO 規格およびメーカーの標準仕様の概要に従ってテスト チャートのイメージを取得します [2][3]。単純なガイドラインとしては、淡色の背景にチャートを水平に配置します。視野の 90% 以上をチャートで覆いますが、チャートの上辺および底辺が引き続き表示されていることを確認してください。信頼性の高い測定を行うには、イメージの最小幅を 500 ピクセル以上に設定します。

  • 拡張 eSFR テスト チャートのイメージは、フル 16:9 の縦横比、または 3:2 か 4:3 の縦横比でキャプチャできます。

  • チャートを適切にインポートするには、関数 displayChart を使用してテスト チャート イメージを視覚的に確認します。

  • 推定された ROI のサイズと位置は、オペレーティング システムとマシンのハードウェアによってわずかに異なる場合があります。

参照

[2] Using eSFR ISO Part 1. URL: https://www.imatest.com/docs/esfriso_instructions.

[3] ISO 12233:2014. "Photography – Electronic still picture imaging – Resolution and spatial frequency responses." International Organization for Standardization; ISO/TC 42 Photography. URL: https://www.iso.org/standard/59419.html.

バージョン履歴

R2017b で導入

すべて展開する