カラーモード
カラーモード設定は、カラーイメージの計算方法を制御します。カラーモード設定には次の値が可能です。
ToneMappingUseFirstAcquisitionAutomatic
ToneMapping はすべての取得を使用して、マージされ正規化された1つのカラーイメージを作成します。マルチ取得 HDR キャプチャの場合、キャプチャされた画像のダイナミックレンジは通常、8ビットカラー画像の範囲よりも高くなります。トーンマッピングは、スケーリング係数を適用することにより、HDR カラーデータを8ビットカラー出力範囲にマッピングします。トーンマッピングを単一取得キャプチャに使用して、キャプチャされたカラーイメージを完全な8ビット出力に正規化することもできます。 ToneMapping を使用する場合、シーン内でオブジェクトを移動、追加、または削除すると、キャプチャを繰り返すとカラー値が不一致になる可能性があります。色を最大限に制御するには、 UseFirstAcquisition モードを使用します。
UseFirstAcquisition は、提供された最初の取得から取得されたカラーデータを使用します。キャプチャが複数の取得で構成されている場合、残りの取得はカラーイメージには使用されません。トーンマッピングは実行されません。このオプションでは、カラーイメージを最大限に制御でき、同じ設定でキャプチャを繰り返してもカラー値が一貫します。
Automaticがデフォルトのオプションです。Automaticは、単一取得キャプチャおよびすべての取得が同一(重複した)取得設定を持つ複数取得キャプチャの場合、UseFirstAcquisitionと同じです。Automaticは、異なる取得設定を使用したマルチ取得 HDR キャプチャのToneMappingと同じです。
注釈
SDK 2.7 以降、カラーモードに UseFirstAcquisition を設定することで、HDR キャプチャのトーンマッピングを無効にすることができます。
単一取得キャプチャの場合、トーンマッピングを使用して暗い画像を明るくすることができます。
|
|
Single acquisition capture with Color Mode set to |
Single acquisition capture with Color Mode set to |
マルチ取得 HDR の場合、トーンマッピングを使用して、高ダイナミックレンジのカラーをより制限されたダイナミックレンジ出力にマッピングできます。
|
|
|
Single acquisition capture of the first of three HDR acquisitions with Color Mode set to |
Single acquisition capture of the second of three HDR acquisitions with Color Mode set to |
Single acquisition capture of the third of three HDR acquisitions with Color Mode set to |
|
||
HDR with three acquisitions with Color Mode set to |
||
UseFirstAcquisition による HDR キャプチャ
複数取得の HDR にトーンマッピングを使用せずに、取得の1つのカラーイメージを使用する場合は、それが可能です。どの取得の色を使用するかを特定します。次に、その取得が HDR キャプチャの一連の取得設定の最初であることを確認し、カラーモードを UseFirstAcquisition に設定します。上の例の場合、結果として得られるカラーイメージは、3つの HDR 取得のうちの最初の取得を使用した1回のキャプチャのカラーイメージと似ています。
ヒント
Zivid Studio で ... → Move to top をクリックして、シーケンスの最初に取得を配置します。
HDR キャプチャでカラー画像を取得する取得方法を変更したい場合は、取得設定を再配置するだけです。 UseFirstAcquisition カラーモードは、繰り返しキャプチャしても色の一貫性を保つために推奨されます。これは、たとえば2D 画像の色やテクスチャに基づいてオブジェクトを分類する場合に役立ちます。実装例を含む詳細な説明については、 Color Inconsistency from HDR をご参照ください。
カラーモードを含む処理設定を Zivid SDK で行う方法を確認してください。
std::cout << "Configuring settings for capture:" << std::endl;
Zivid::Settings2D settings2D{
Zivid::Settings2D::Sampling::Color::rgb,
Zivid::Settings2D::Sampling::Pixel::all,
Zivid::Settings2D::Sampling::Interval::Enabled::no,
Zivid::Settings2D::Sampling::Interval::Duration{ microseconds{ 10000 } },
Zivid::Settings2D::Processing::Color::Balance::Blue{ 1.0 },
Zivid::Settings2D::Processing::Color::Balance::Green{ 1.0 },
Zivid::Settings2D::Processing::Color::Balance::Red{ 1.0 },
Zivid::Settings2D::Processing::Color::Gamma{ 1.0 },
Zivid::Settings2D::Processing::Color::Experimental::Mode::automatic,
};
Console.WriteLine("Configuring settings for capture:");
var settings2D = new Zivid.NET.Settings2D()
{
Sampling =
{
Color = Zivid.NET.Settings2D.SamplingGroup.ColorOption.Rgb,
Pixel = Zivid.NET.Settings2D.SamplingGroup.PixelOption.All,
Interval =
{
Enabled = false,
Duration = Duration.FromMicroseconds(10000),
},
},
Processing =
{
Color =
{
Balance =
{
Blue = 1.0,
Green = 1.0,
Red = 1.0,
},
Gamma = 1.0,
Experimental = { Mode = Zivid.NET.Settings2D.ProcessingGroup.ColorGroup.ExperimentalGroup.ModeOption.Automatic },
},
},
};
print("Configuring settings for capture:")
settings_2d = zivid.Settings2D()
settings_2d.sampling.color = zivid.Settings2D.Sampling.Color.rgb
settings_2d.sampling.pixel = zivid.Settings2D.Sampling.Pixel.all
settings_2d.sampling.interval.enabled = False
settings_2d.sampling.interval.duration = timedelta(microseconds=10000)
settings_2d.processing.color.balance.red = 1.0
settings_2d.processing.color.balance.blue = 1.0
settings_2d.processing.color.balance.green = 1.0
settings_2d.processing.color.gamma = 1.0
settings_2d.processing.color.experimental.mode = zivid.Settings2D.Processing.Color.Experimental.Mode.automatic
バージョン履歴
SDK |
変更点 |
|---|---|
2.7.0 |
トーンマッピング API はカラーモード API に置き換えられました。 |
2.3.0 |
トーンマッピング API が追加されました。 |





