表示控制 ImageAnalyzer 功能的配置选项。
如果使用标准模型执行图像分析,则必须调用 SetFeatures () 并设置一个或多个要分析的视觉特征。 视觉特征没有默认选择。 如果使用自定义模型或执行图像分段,则无需指定视觉特征。
成员
高级
语法: public AdvancedOptions & Advanced;
高级选项和参数。
SetFeatures
语法: public inline void SetFeatures ( const std::vector< ImageAnalysisFeature > & ImageAnalysisFeatures );
设置要从图像中提取的一个或多个视觉特征的列表。
如果使用默认模型,则必须至少指定一个视觉特征。 如果通过调用 SetModelName) 使用自定义训练的模型 (,则无需指定任何视觉特征,因为它们是从模型中隐含的。 如果通过调用 SetSegmentationMode) 执行图像分段 (,则无需指定视觉特征。 请注意,可以通过调用 SetFeatures 和/或 SetModelName) 提取 (视觉特征,也可以通过调用 SetSegmentationMode) 执行分段 (,但不能同时执行这两项操作。
参数
ImageAnalysisFeatures
视觉对象功能列表
GetFeatures
语法: public inline std::vector< ImageAnalysisFeature > GetFeatures ( );
获取要从图像中提取的一个或多个视觉特征的列表。
返回
视觉对象功能列表
SetCroppingAspectRatios
语法: public inline void SetCroppingAspectRatios ( const std::vector< double > & aspectRatios );
设置裁剪建议应尝试适合的纵横比列表, (也称为智能裁剪)
纵横比的计算方法是将目标裁剪宽度除以高度。
支持的值介于 0.75 到 1.8 之间, (包含) 。
仅当 ImageAnalysisFeature::CropSuggestions 设置为要分析的图像特征之一时,调用此方法才相关 (请参阅 ImageAnalysisOptions::SetFeatures 方法) 。
如果未调用 SetCroppingAspectRatios () ,但 ImageAnalysisFeature::CropSuggestions 指定为特征,则服务将返回一个裁剪建议,其纵横比在 0.5 到 2.0 之间, (包含) 。
参数
aspectRatios
(正数)
GetCroppingAspectRatios
语法: public inline std::vector< double > GetCroppingAspectRatios ( );
获取用于裁剪 (也称为智能裁剪的纵横比列表)
返回
纵横比列表。 如果之前未设置纵横比,此列表将为空
纵横比的计算方法是将目标裁剪宽度除以高度。
支持的值介于 0.75 到 1.8 之间, (包含) 。
SetLanguage
语法: public inline void SetLanguage ( const std::string & language );
设置图像分析应在结果中使用的语言。
此语言应以 ISO 639-1 代码的形式提供,例如,“en”表示英语,“fr”表示法语。 如果未设置此值,则英语的默认值为“en”。 有关支持的语言代码的列表以及每种语言支持的视觉功能,请参阅 https://aka.ms/cv-languages 。
参数
language
语言代码
GetLanguage
语法: public inline std::string GetLanguage ( );
获取图像分析应在结果中使用的语言。
返回
服务将在图像分析结果中使用的语言。
语言采用 ISO 639-1 格式,例如“en”表示英语,“fr”表示法语。 如果未设置此值,则英语的默认值为“en”。 有关支持的语言代码的列表以及每种语言支持的视觉功能,请参阅 https://aka.ms/cv-languages 。
SetModelVersion
语法: public inline void SetModelVersion ( const std::string & modelVersion );
设置图像分析服务应使用的模型版本。 如果未设置此选项,则默认值为“latest”。
“latest”是服务当前支持的唯一值。 在将来的服务更新中,支持的模型版本将为“最新”或格式为“YYYY-MM-DD”或“YYYY-MM-DD-preview”,其中 YYYY、MM、DD 分别为年、月和日。
参数
modelVersion
模型版本
GetModelVersion
语法: public inline std::string GetModelVersion ( );
获取图像分析服务应使用的模型版本。 如果未设置此选项,则默认值为“latest”。
返回
服务使用的 AI 模型版本。 目前支持的唯一值是“latest”。
SetGenderNeutralCaption
语法: public inline void SetGenderNeutralCaption ( const bool genderNeutral );
设置图像分析描述文字结果的性别中立性。
参数
genderNeutral
如果为“true”,则描述文字将不具有性别的术语。 如果为“true”,则单词“Man/Woman”将替换为“Person”,而“男孩/女孩”将替换为“Child”。 如果未设置,则默认为“false”。
仅当 ImageAnalysisFeature::Caption 包含在功能列表中时,才相关 (请参阅 ImageAnalysisOptions::SetFeatures) 。
GetGenderNeutralCaption
语法: public inline bool GetGenderNeutralCaption ( );
获取图像分析描述文字结果的性别中立性。
返回
如果返回的描述文字没有性别术语,则为“true”。 否则,“false” (默认) 。
SetModelName
语法: public inline void SetModelName ( const std::string & modelName );
设置图像分析服务应使用的自定义训练模型的名称。 如果未设置此选项,将使用默认 (标准) 模型。 请注意,可以通过调用 SetFeatures 和/或 SetModelName) 提取 (视觉特征,也可以通过调用 SetSegmentationMode) 执行分段 (,但不能同时执行这两项操作。
参数
modelName
自定义模型名称
GetModelName
语法: public inline std::string GetModelName ( );
获取图像分析服务使用的自定义训练模型的名称。
返回
自定义模型名称,如果尚未设置自定义模型,则为空字符串 (在这种情况下,将使用标准模型) 。
SetSegmentationMode
语法: public inline void SetSegmentationMode ( const ImageSegmentationMode segmentationMode );
设置图像分析服务应使用的分段模式。
通过设置 ImageSegmentationMode::BackgroundRemoval 或 ImageSegmentationMode::ForegroundMatting,图像分析服务将执行分段操作,如果成功,将返回生成的分段的单个 PNG 图像。 默认情况下,不执行任何分段。 请注意,可以通过调用 SetFeatures 和/或 SetModelName) 提取 (视觉特征,也可以通过调用 SetSegmentationMode) 执行分段 (,但不能同时执行这两项操作。
参数
segmentationMode
所需的分段模式
GetSegmentationMode
语法: public inline ImageSegmentationMode GetSegmentationMode ( );
获取当前分段模式。
返回
当前分段模式。
~ImageAnalysisOptions
语法: public ~ImageAnalysisOptions ( ) = default;
析构 ImageAnalysisOptions 类的实例。
创建
语法: public inline static std::shared_ptr< ImageAnalysisOptions > Create ( );
初始化 ImageAnalysisOptions 类的新实例。
返回
新创建的 ImageAnalysisOptions 包装在 std::shared_ptr