Color Mode
Color Mode可以设置控制如何计算彩色图像,可设置为以下几种模式:
ToneMappingUseFirstAcquisitionAutomatic
ToneMapping (色调映射)使用了所有采集项来生成一个融合的和标准化过的彩色图像。对于多次采集HDR捕获,得到的图像动态范围通常高于8位彩色图像范围。色调映射将通过应用比例因子将HDR颜色数据映射到8位颜色输出范围。色调映射也可用于单次采集捕获,以将捕获的彩色图像标准化为完整的8位输出。使用 ToneMapping 时,如果您移动、添加或移除了场景中的对象,重复捕获的颜色值可能会不一致。为了最大限度地控制颜色,请使用 UseFirstAcquisition 模式。
UseFirstAcquisition 使用了第一个采集项获得的颜色数据。如果捕获包含多次采集,则其它采集获得的数据不会被用于生成彩色图像。该模式下不会执行色调映射。此模式将提供对彩色图像的最大控制,并且颜色值将在使用相同设置的重复捕获中保持一致。
Automatic是默认设置。在进行单次采集和所有采集项都具有相同(重复的)采集设置的多次采集时,
Automatic等同于UseFirstAcquisition。在进行具有不同采集设置的多次采集HDR时,
Automatic等同于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使用色调映射,而是使用其中一个采集项的彩色图像,这是可以实现的。确定您要使用哪个采集项中的颜色。然后,确保该采集项是HDR采集设置序列中的第一个,并将颜色模式设置为 UseFirstAcquisition 。对于上面的示例,现在生成的彩色图像看起来就像使用三个HDR采集中的第一个采集项的单次捕获的彩色图像。
提示
在Zivid Studio的采集设置中依次点击 ... → Move to top 即可将选定的采集项移动到序列中的第一个位置。
如果您想要更改 HDR 捕获获取彩色图像的采集,只需重新设置采集设置即可。建议使用 UseFirstAcquisition 颜色模式以在重复捕获中保持颜色一致,例如,可用于基于 2D 图像中的颜色或纹理进行对象分类。相关示例的详细说明,请查看如何处理 HDR 色彩不一致 。
查看如何使用Zivid SDK设定processing settings(处理设置),包括Color Mode:
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 |
Tone mapping(色调映射)API被Color Mode(颜色模式)API替代。 |
2.3.0 |
添加了Tone mapping(色调映射)API。 |





