Main Content

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

esfrChart

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

説明

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

拡張 eSFR テスト チャートは、ISO 12233:2014 標準テスト チャートの 1 つのバージョンであり、縦横比が 16:9 で、追加の傾斜エッジ ROI などの視覚的特徴が追加されています。

作成

説明

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

chart = esfrChart(A,'Sensitivity',s) は、チャートのインポート時に感度 s を使用して、esfrChart オブジェクトを作成します。

chart = esfrChart(A,'RegistrationPoints',p) は、esfrChart オブジェクトを作成し、p 引数のポイントから RegistrationPoints プロパティを設定します。

入力引数

すべて展開する

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

データ型: single | double

プロパティ

すべて展開する

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

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

傾斜したエッジの位置と強度の値。構造体の 60 行 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 プロパティのデータ型と一致します。

グレー パッチの位置と強度の値。構造体の 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

オブジェクト関数

measureSharpnessImatest eSFR チャートを使用した空間周波数応答の測定
measureChromaticAberrationImatest eSFR チャートを使用した傾斜したエッジでの色収差の測定
measureNoiseImatest eSFR チャートを使用したノイズの測定
measureColorImatest eSFR チャートを使用した色再現の測定
measureIlluminantImatest eSFR チャートを使用したシーンの光源の測定
displayChart重ね合わせた関心領域を含む Imatest eSFR チャートの表示

すべて折りたたむ

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

I = imread('eSFRTestImage.jpg');
figure
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');

イメージを線形化します。イメージがガンマ補正されていないため、表示されるチャートはより暗くなります。

I_lin = rgb2lin(I);

線形化されたチャート イメージを使用して esfrChart オブジェクトを作成します。esfrChart モデルがチャート イメージを登録するポイントを検出するのに使用する感度を指定します。

chart = esfrChart(I_lin,'Sensitivity',0.6)
chart = 
  esfrChart with properties:

                 Image: [1836x3084x3 uint8]
       SlantedEdgeROIs: [60x1 struct]
              GrayROIs: [20x1 struct]
             ColorROIs: [16x1 struct]
    RegistrationPoints: [4x2 double]
      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 を使用してテスト チャート イメージを視覚的に確認します。

参照

[2] Using eSFR ISO Part 1. URL: http://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 で導入