Color Mode
색상 모드 설정은 색상 이미지가 계산되는 방식을 제어합니다. 색상 모드 설정에는 다음과 같은 가능한 값이 있습니다.
ToneMappingUseFirstAcquisitionAutomatic
ToneMapping 모든 획득을 사용하여 하나의 병합되고 정규화된 컬러 이미지를 생성합니다. multi-acquisition HDR 캡처의 경우 캡처된 이미지의 동적 범위는 일반적으로 8비트 컬러 이미지 범위보다 높습니다. 톤 매핑은 배율 인수를 적용하여 HDR 색상 데이터를 8비트 색상 출력 범위에 매핑합니다. 단일 획득 캡처에 톤 매핑을 사용하여 캡처한 컬러 이미지를 전체 8비트 출력으로 정규화할 수도 있습니다. ToneMapping 사용할 때 장면에서 개체를 이동, 추가 또는 제거하면 반복되는 캡처에서 색상 값이 일치하지 않을 수 있습니다. 색상을 최대한 제어하려면 UseFirstAcquisition 모드를 사용하십시오.
UseFirstAcquisition 은 제공된 첫 번째 획득에서 획득한 색상 데이터를 사용합니다. 캡처가 둘 이상의 획득으로 구성된 경우 나머지 획득은 컬러 이미지에 사용되지 않습니다. 톤 매핑이 수행되지 않습니다. 이 옵션은 컬러 이미지에 대한 대부분의 제어를 제공하며 색상 값은 동일한 설정으로 반복 캡처하는 동안 일관됩니다.
Automatic이 기본 옵션입니다.Automatic은 단일 획득 캡처 및 모든 획득에 동일한(중복된) 획득 설정이 있는 다중 획득 캡처에서UseFirstAcquisition과 동일합니다.Automatic은 획득 설정이 다른 다중 획득 HDR 캡처에 대한ToneMapping과 동일합니다.
참고
SDK 2.7부터 Color Mode에 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 |
||
HDR capture with UseFirstAcquisition
다중 획득 HDR에 톤 매핑을 사용하지 않고 대신 획득 중 하나의 컬러 이미지를 사용하는 것이 가능합니다. 색상을 사용하려는 획득을 식별합니다. 그런 다음 획득이 HDR 캡처에 대한 획득 설정 시퀀스의 첫 번째인지 확인하고 색상 모드를 UseFirstAcquisition 으로 설정합니다. 위의 예에서 결과 컬러 이미지는 세 가지 HDR 획득 중 첫 번째를 사용하여 단일 캡처의 컬러 이미지처럼 보입니다.
힌트
Zivid Studio에서 … → Move to top 을 클릭하여 첫번째 순서의 획득으로 만드십시오.
HDR 캡처에서 컬러 이미지를 가져오는 획득 방식을 변경하려면 획득 설정을 변경하기만 하면 됩니다. UseFirstAcquisition 색상 모드는 반복되는 캡처에서 색상을 일관되게 유지하는 데 권장되며, 2D 이미지의 색상이나 질감을 기반으로 객체를 분류하는 데 유용합니다. 구현 예시와 함께 자세한 설명은 Color Inconsistency from HDR 에서 확인할 수 있습니다.
Color Mode를 포함하여 Zivid SDK로 processing settings을 지정하는 방법을 확인하십시오.
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
Version History
SDK |
Changes |
|---|---|
2.7.0 |
Tone mapping API는 Color Mode API로 대체됩니다. |
2.3.0 |
Tone mapping API가 추가되었습니다. |





