推理结果¶
接收推理结果。
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