类 ImageAnalysis::ImageAnalysisOptions

表示控制 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