跳转至

推理结果

接收推理结果。

Classes

Type Name
struct SaigeRotatedBox
包含可旋转矩形信息的结构体。
struct SaigeDetectedObject
包含从对象检测(DET)中检测到的区域信息的结构体。
struct SaigeEllipse
包含椭圆信息的结构体。
struct SaigeSegmentedObject
包含通过分割(SEG)或异常检测(IAD)检测到的区域信息的结构体。
struct SaigeTextObject
SaigeTextObject

Public Functions

Type Name
int SaigeGetInferenceResultScore (SaigeInferenceResult result, float * scores, bool includeAddScore)
(CLS) 检索每个类别的分数数组。
int SaigeGetInferenceResultClass (SaigeInferenceResult result, int * classIndex)
(CLS) 检索包含额外分数的最终得分最高的类别的索引。
int SaigeGetInferenceResultClassActivationMap (SaigeInferenceResult result, unsigned char ** classActivationMap)
(CLS) 检索类别激活图数组。
int SaigeGetInferenceResultNumOfDetectedObjects (SaigeInferenceResult result, int * numOfObjects)
(DET) 获取对象检测中检测到的对象数量。
int SaigeGetInferenceResultDetectedObjects (SaigeInferenceResult result, SaigeDetectedObject * detectedObjects)
(DET) 获取对象检测中检测到的对象数组。
int SaigeGetInferenceResultNumOfSegmentedObjects (SaigeInferenceResult result, int * num)
获取通过分割(SEG)或异常检测(IAD)检测到的分割对象的数量。
int SaigeGetInferenceResultSegmentedObjects (SaigeInferenceResult result, SaigeSegmentedObject * segObjects)
获取通过分割(SEG)或异常检测(IAD)检测到的分割对象数组。
int SaigeGetInferenceResultMask (SaigeInferenceResult result, unsigned char ** mask)
从分割(SEG)或异常检测(IAD)中获取掩码数组。
int SaigeGetInferenceResultScoremapSEG (SaigeInferenceResult result, unsigned char ** scoremap)
获取分割(SEG)的得分图数组。
int SaigeGetInferenceResultIsOversized (SaigeInferenceResult result, bool * isOversized)
检查输入图像大小是否超过SaigeHandleConfig中设置的检查大小。
int SaigeGetInferenceResultAnomalyScores (SaigeInferenceResult result, double * anomalyScore, double * minScore, double * maxScore)
获取异常检测(IAD)的三种分数。
int SaigeGetInferenceResultIsNg (SaigeInferenceResult result, bool * isNg)
获取异常检测(IAD)中图像的正常/异常分类结果。
int SaigeGetInferenceResultScoremapIAD (SaigeInferenceResult result, float ** scoremap)
获取异常检测(IAD)的得分图数组。
int SaigeGetInferenceResultHeatmap (SaigeInferenceResult result, float ** heatmap)
获取热图数组。
int SaigeGetInferenceResultNumOfTextObjects (SaigeInferenceResult result, int * num)
SaigeGetInferenceResultNumOfTextObjects
int SaigeGetInferenceResultEnhancedImage (SaigeInferenceResult result, unsigned char ** image)
SaigeGetInferenceResultEnhancedImage
int SaigeGetInferenceResultTextObjects (SaigeInferenceResult result, SaigeTextObject * textObjects)
SaigeGetInferenceResultTextObjects
int SaigeGetInferenceResultInspectionTime (SaigeInferenceResult result, long long * imreadTime, long long * inferenceTime, long long * postProcessingTime)
SaigeGetInferenceResultInspectionTime
int SaigeGetInferenceResultProductId (SaigeInferenceResult result, const char ** productId, unsigned int * length)
SaigeGetInferenceResultProductId

Public Functions Documentation

SaigeGetInferenceResultScore

(CLS) 检索每个类别的分数数组。

int SaigeGetInferenceResultScore (
    SaigeInferenceResult result,
    float * scores,
    bool includeAddScore
) 

Parameters:

  • result 包含推理结果的结果句柄。
  • scores [out] 包含每个类别分数的数组。
  • includeAddScore 如果设置为 true,则检索包括额外分数的分数。如果为 false,则仅检索原始分数。

Returns:

errorCode 成功时返回0,失败时返回错误代码。

SaigeGetInferenceResultClass

(CLS) 检索包含额外分数的最终得分最高的类别的索引。

int SaigeGetInferenceResultClass (
    SaigeInferenceResult result,
    int * classIndex
) 

Parameters:

  • result 包含推理结果的结果句柄。
  • classIndex [out] 得分最高类别的索引。

Returns:

errorCode 成功时返回0,失败时返回错误代码。

SaigeGetInferenceResultClassActivationMap

(CLS) 检索类别激活图数组。

int SaigeGetInferenceResultClassActivationMap (
    SaigeInferenceResult result,
    unsigned char ** classActivationMap
) 

  • 类别激活图是一个热图,显示了哪些图像区域对特定分类的贡献最大。
  • 像素值范围从0到255,值越高表示对分类结果的贡献越大。
  • 形状为(原始图像高度 H,原始图像宽度 W)。
  • 在内部,以行主序的方式表示为1D数组。 i行j列的值位于data[W*i + j]。

Parameters:

  • result 包含推理结果的结果句柄。
  • classActivationMap [out] 包含类别激活图的数组。

Returns:

errorCode 成功时返回0,失败时返回错误代码。

SaigeGetInferenceResultNumOfDetectedObjects

(DET) 获取对象检测中检测到的对象数量。

int SaigeGetInferenceResultNumOfDetectedObjects (
    SaigeInferenceResult result,
    int * numOfObjects
) 

Parameters:

  • result 包含推理结果的结果句柄。
  • numOfObjects [out] 检测到的对象数量。

Returns:

errorCode 成功时返回0,失败时返回错误代码。

SaigeGetInferenceResultDetectedObjects

(DET) 获取对象检测中检测到的对象数组。

int SaigeGetInferenceResultDetectedObjects (
    SaigeInferenceResult result,
    SaigeDetectedObject * detectedObjects
) 

Parameters:

  • result 包含推理结果的结果句柄。
  • detectedObjects [out] 检测到的对象数组。

Returns:

errorCode 成功时返回0,失败时返回错误代码。

SaigeGetInferenceResultNumOfSegmentedObjects

获取通过分割(SEG)或异常检测(IAD)检测到的分割对象的数量。

int SaigeGetInferenceResultNumOfSegmentedObjects (
    SaigeInferenceResult result,
    int * num
) 

Parameters:

  • result 包含推理结果的结果句柄。
  • num [out] 检测到的分割对象数量。

Returns:

errorCode 成功时返回0,失败时返回错误代码。

SaigeGetInferenceResultSegmentedObjects

获取通过分割(SEG)或异常检测(IAD)检测到的分割对象数组。

int SaigeGetInferenceResultSegmentedObjects (
    SaigeInferenceResult result,
    SaigeSegmentedObject * segObjects
) 

Parameters:

  • result 包含推理结果的结果句柄。
  • segObjects [out] 检测到的分割对象数组。

Returns:

errorCode 成功时返回0,失败时返回错误代码。

SaigeGetInferenceResultMask

从分割(SEG)或异常检测(IAD)中获取掩码数组。

int SaigeGetInferenceResultMask (
    SaigeInferenceResult result,
    unsigned char ** mask
) 

  • (IAD) 被分类为正常的像素为0,被分类为异常的像素为1。
  • (SEG) 被分类为OK类的像素为0,而被分类为其他类的像素由其类索引表示。
  • 数组的形状为(图像高度H,图像宽度W)。
  • 这是一个单指针的一维数组,采用行优先顺序。 对于行i和列j,值为data[W*i + j]。

Parameters:

  • result 包含推理结果的结果句柄。
  • mask [out] 掩码数组。

Returns:

errorCode 成功时返回0,失败时返回错误代码。

SaigeGetInferenceResultScoremapSEG

获取分割(SEG)的得分图数组。

int SaigeGetInferenceResultScoremapSEG (
    SaigeInferenceResult result,
    unsigned char ** scoremap
) 

  • SEG的得分图,与IAD的得分图不同。
  • 形状为(包括OK的类别数量,图像高度H,图像宽度W)。
  • 如果图像的i行,j列的像素被预测为c类,那么<tt>(c, i, j)像素包含的得分为0-255之间的整数。
  • 这是一个单指针的一维数组,采用行优先顺序, 其中类c,行i,列j的值为data[W*H*c + W*i + j]。

Parameters:

  • result 包含推理结果的结果句柄。
  • scoremap [out] 得分图数组。

Returns:

errorCode 成功时返回0,失败时返回错误代码。

SaigeGetInferenceResultIsOversized

检查输入图像大小是否超过SaigeHandleConfig中设置的检查大小。

int SaigeGetInferenceResultIsOversized (
    SaigeInferenceResult result,
    bool * isOversized
) 

Parameters:

  • result 包含推理结果的结果句柄。
  • isOversized [out] 如果输入图像大小超过检查大小,则为true,否则为false。

Returns:

errorCode 成功时返回0,失败时返回错误代码。

See also: SaigeHandleConfig.inspectionSizeWidth, SaigeHandleConfig.inspectionSizeHeight, SaigeInferenceOption.oversizedImageHandling

SaigeGetInferenceResultAnomalyScores

获取异常检测(IAD)的三种分数。

int SaigeGetInferenceResultAnomalyScores (
    SaigeInferenceResult result,
    double * anomalyScore,
    double * minScore,
    double * maxScore
) 

Parameters:

  • result 包含推理结果的结果句柄。
  • anomalyScore [out] 图像的代表性异常得分。
  • minScore [out] 图像中的最小像素级分数。
  • maxScore [out] 图像中的最大像素级分数。

Returns:

errorCode 成功时返回0,失败时返回错误代码。

SaigeGetInferenceResultIsNg

获取异常检测(IAD)中图像的正常/异常分类结果。

int SaigeGetInferenceResultIsNg (
    SaigeInferenceResult result,
    bool * isNg
) 

Parameters:

  • result 包含推理结果的结果句柄。
  • isNg [out] 如果图像被分类为异常,则为true,如果正常,则为false。

Returns:

errorCode 成功时返回0,失败时返回错误代码。

SaigeGetInferenceResultScoremapIAD

获取异常检测(IAD)的得分图数组。

int SaigeGetInferenceResultScoremapIAD (
    SaigeInferenceResult result,
    float ** scoremap
) 

  • 特定于IAD的得分图,与SEG的得分图不同。
  • 每个像素的得分表示为非负浮点数。
  • 数组的形状为(图像高度H,图像宽度W)。
  • 这是一个单指针的一维数组,采用行优先顺序, 其中行i和列j的值为data[W*i + j]。

Parameters:

  • result 包含推理结果的结果句柄。
  • scoremap [out] 得分图数组。

Returns:

errorCode 成功时返回0,失败时返回错误代码。

SaigeGetInferenceResultHeatmap

获取热图数组。

int SaigeGetInferenceResultHeatmap (
    SaigeInferenceResult result,
    float ** heatmap
) 

  • 返回一个在heatmapColorRangeMin和heatmapColorRangeMax之间归一化的热图数组。 每个像素值表示为在0到1范围内的浮点数。
  • 形状为(图像高度H,图像宽度W)。
  • 实现为单指针的一维数组,采用行优先顺序。 因此,行i和列j的值为data[W*i + j]。

Parameters:

  • result 包含推理结果的结果句柄。
  • heatmap [out] 热图数组。

Returns:

errorCode 成功时返回0,失败时返回错误代码。

SaigeGetInferenceResultNumOfTextObjects

SaigeGetInferenceResultNumOfTextObjects

int SaigeGetInferenceResultNumOfTextObjects (
    SaigeInferenceResult result,
    int * num
) 

获取通过OCR分析的图像中检测到的文本区域数量。

Parameters:

  • result 包含推理结果的结果句柄。
  • num [out] 检测到的文本区域数量。

Returns:

errorCode 成功时返回0,失败时返回错误代码。

SaigeGetInferenceResultEnhancedImage

SaigeGetInferenceResultEnhancedImage

int SaigeGetInferenceResultEnhancedImage (
    SaigeInferenceResult result,
    unsigned char ** image
) 

获取图像增强(IEN)结果的高质量图像。

Parameters:

  • result 包含推理结果的结果句柄。
  • image [out] 存储增强图像数据的指针。

Returns:

errorCode 成功时返回0,失败时返回错误代码。

SaigeGetInferenceResultTextObjects

SaigeGetInferenceResultTextObjects

int SaigeGetInferenceResultTextObjects (
    SaigeInferenceResult result,
    SaigeTextObject * textObjects
) 

从OCR推理结果中获取检测到的文本区域(SaigeTextObject)数组。

Parameters:

  • result 包含推理结果的结果句柄。
  • textObjects [out] 输出的SaigeTextObject结构数组。 此数组应分配至少由SaigeGetInferenceResultNumOfTextObjects返回的元素数量。

Returns:

errorCode 成功时返回0,失败时返回错误代码。

See also: SaigeTextObject

SaigeGetInferenceResultInspectionTime

SaigeGetInferenceResultInspectionTime

int SaigeGetInferenceResultInspectionTime (
    SaigeInferenceResult result,
    long long * imreadTime,
    long long * inferenceTime,
    long long * postProcessingTime
) 

获取推理API执行各个阶段所花费的时间,单位为毫秒。

Parameters:

  • result 包含推理结果的结果句柄。
  • imreadTime [out] 读取图像所花费的时间。
  • inferenceTime [out] 图像预处理和深度学习推理所花费的时间。
  • postProcessingTime [out] 后处理所花费的时间。

Returns:

errorCode 成功时返回0,失败时返回错误代码。

See also: SaigeInferenceOption::calcTime

SaigeGetInferenceResultProductId

SaigeGetInferenceResultProductId

int SaigeGetInferenceResultProductId (
    SaigeInferenceResult result,
    const char ** productId,
    unsigned int * length
) 

获取推理执行期间使用或生成的产品ID。

Parameters:

  • result 包含推理结果的结果句柄。
  • productId [out] 指向产品ID字符串的指针。
  • length [out] 产品ID字符串的长度。

Returns:

errorCode 成功时返回0,失败时返回错误代码。

See also: SaigeInferFromByteArrayWithProductId