跳转至

推理

对图像进行推理。

Public Functions

Type Name
int SaigeInferFromImageFile (SaigeInferenceHandle handle, const char * imagePath, SaigeInferenceResult result)
使用指定的图像文件路径进行推理。
int SaigeInferFromByteArray (SaigeInferenceHandle handle, const unsigned char * imageData, const int width, const int height, const unsigned int flags, SaigeInferenceResult result)
对单个图像数据数组执行推理。 对于3通道彩色图像,建议使用RGB顺序以提高实时应用程序的速度。 如果图像以RGB格式获取,建议使用RGB。
int SaigeInferFromByteArrayWithProductId (SaigeInferenceHandle handle, const unsigned char * imageData, const int width, const int height, const unsigned int flags, const char * productId, SaigeInferenceResult result)
在单个图像数据数组上执行推理,并附加产品标识符。 这与 SaigeInferFromByteArray 类似,增加了产品ID,这是用户定义的检查目标标识符。
int SaigeInferFromMultipleByteArray (SaigeInferenceHandle handle, const int numOfImages, const unsigned char ** imageData, const int width, const int height, const unsigned int flags, SaigeInferenceResult * results)
输入多个相同大小的图像数据以执行批量推理。

Macros

Type Name
define SAIGE_IMAGE_COLOR 0x01
指示颜色图像数据的标志。
define SAIGE_IMAGE_16BIT 0x02
指示每通道16位图像数据的标志。
define SAIGE_IMAGE_ALPHA 0x04
指示带有Alpha通道的数据的标志。
define SAIGE_IMAGE_BGR 0x08
指示颜色通道顺序为蓝色、绿色、红色的数据的标志。
define SAIGE_IMAGE_8BIT_GRAY 0x00
指示8位灰度图像数据的宏。它是一个大小为Width x Height的单通道数组。
define SAIGE_IMAGE_24BIT_RGB (SAIGE_IMAGE_COLOR)
指示24位RGB彩色图像数据的宏。它是一个大小为Width x Height x Channels (3)的数组,通道顺序为R, G, B。
define SAIGE_IMAGE_24BIT_BGR (SAIGE_IMAGE_COLOR | SAIGE_IMAGE_BGR)
指示24位BGR彩色图像数据的宏。它是一个大小为Width x Height x Channels (3)的数组,通道顺序为B, G, R。
define SAIGE_IMAGE_32BIT_RGBA (SAIGE_IMAGE_COLOR | SAIGE_IMAGE_ALPHA)
指示32位RGBA彩色图像数据的宏。它是一个大小为Width x Height x Channels (4)的数组,通道顺序为R, G, B, A。
define SAIGE_IMAGE_32BIT_BGRA (SAIGE_IMAGE_COLOR | SAIGE_IMAGE_ALPHA | SAIGE_IMAGE_BGR)
指示32位BGRA彩色图像数据的宏。它是一个大小为Width x Height x Channels (4)的数组,通道顺序为B, G, R, A。
define SAIGE_IMAGE_16BIT_GRAY (SAIGE_IMAGE_16BIT)
指示16位灰度图像数据的宏。它是一个大小为Width x Height的单通道数组,每个像素表示为unsigned short。
define SAIGE_IMAGE_48BIT_RGB (SAIGE_IMAGE_COLOR | SAIGE_IMAGE_16BIT)
指示48位RGB彩色图像数据的宏。它是一个大小为Width x Height x Channels (3)的数组,通道顺序为R, G, B,每个像素表示为unsigned short。
define SAIGE_IMAGE_48BIT_BGR (SAIGE_IMAGE_COLOR | SAIGE_IMAGE_16BIT | SAIGE_IMAGE_BGR)
指示48位BGR彩色图像数据的宏。它是一个大小为Width x Height x Channels (3)的数组,通道顺序为B, G, R,每个像素表示为unsigned short。
define SAIGE_IMAGE_64BIT_RGBA (SAIGE_IMAGE_COLOR | SAIGE_IMAGE_16BIT | SAIGE_IMAGE_ALPHA)
指示64位RGBA彩色图像数据的宏。它是一个大小为Width x Height x Channels (4)的数组,通道顺序为R, G, B, A,每个像素表示为unsigned short。
define SAIGE_IMAGE_64BIT_BGRA (SAIGE_IMAGE_COLOR | SAIGE_IMAGE_16BIT | SAIGE_IMAGE_ALPHA | SAIGE_IMAGE_BGR)
指示64位BGRA彩色图像数据的宏。它是一个大小为Width x Height x Channels (4)的数组,通道顺序为B, G, R, A,每个像素表示为unsigned short。

Public Functions Documentation

SaigeInferFromImageFile

使用指定的图像文件路径进行推理。

int SaigeInferFromImageFile (
    SaigeInferenceHandle handle,
    const char * imagePath,
    SaigeInferenceResult result
) 

Parameters:

  • handle 要用于推理的推理句柄。
  • imagePath 用于推理的图像文件路径。支持的扩展名包括 jpg、jpeg、png、ppm、bmp、pgm、tif、tiff和webp。
  • result 用于存储推理结果的结果句柄。

Returns:

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

SaigeInferFromByteArray

对单个图像数据数组执行推理。 对于3通道彩色图像,建议使用RGB顺序以提高实时应用程序的速度。 如果图像以RGB格式获取,建议使用RGB。

int SaigeInferFromByteArray (
    SaigeInferenceHandle handle,
    const unsigned char * imageData,
    const int width,
    const int height,
    const unsigned int flags,
    SaigeInferenceResult result
) 

Parameters:

  • handle 要使用的推理句柄。
  • imageData 要用于推理的图像数据。
  • width 图像数据的宽度。
  • height 图像数据的高度。
  • flags 设置图像的颜色和位深度的标志。
  • result 用于存储推理结果的结果句柄。

Returns:

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

See also: SAIGE_IMAGE_8BIT_GRAY, SAIGE_IMAGE_24BIT_RGB

SaigeInferFromByteArrayWithProductId

在单个图像数据数组上执行推理,并附加产品标识符。 这与 SaigeInferFromByteArray 类似,增加了产品ID,这是用户定义的检查目标标识符。

int SaigeInferFromByteArrayWithProductId (
    SaigeInferenceHandle handle,
    const unsigned char * imageData,
    const int width,
    const int height,
    const unsigned int flags,
    const char * productId,
    SaigeInferenceResult result
) 

Parameters:

  • handle 要使用的推理句柄。
  • imageData 用于推理的图像数据。
  • width 图像数据的宽度。
  • height 图像数据的高度。
  • flags 设置图像的颜色和位深度的标志。
  • productId 要推理的产品ID。
  • result 用于存储推理结果的结果句柄。

Returns:

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

See also: SAIGE_IMAGE_8BIT_GRAY, SAIGE_IMAGE_24BIT_RGB

SaigeInferFromMultipleByteArray

输入多个相同大小的图像数据以执行批量推理。

int SaigeInferFromMultipleByteArray (
    SaigeInferenceHandle handle,
    const int numOfImages,
    const unsigned char ** imageData,
    const int width,
    const int height,
    const unsigned int flags,
    SaigeInferenceResult * results
) 

Parameters:

  • handle 要使用的推理句柄。
  • numOfImages 要推理的图像数据的数量。
  • imageData 用于推理的图像数据数组。
  • width 图像数据的宽度。
  • height 图像数据的高度。
  • flags 设置图像的颜色和位深度的标志。
  • results 用于存储推理结果的结果句柄数组。

Returns:

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

See also: SAIGE_IMAGE_24BIT_RGB, SaigeHandleConfig::batchSize

Macro Definition Documentation

SAIGE_IMAGE_COLOR

指示颜色图像数据的标志。

#define SAIGE_IMAGE_COLOR 0x01

SAIGE_IMAGE_16BIT

指示每通道16位图像数据的标志。

#define SAIGE_IMAGE_16BIT 0x02

SAIGE_IMAGE_ALPHA

指示带有Alpha通道的数据的标志。

#define SAIGE_IMAGE_ALPHA 0x04

SAIGE_IMAGE_BGR

指示颜色通道顺序为蓝色、绿色、红色的数据的标志。

#define SAIGE_IMAGE_BGR 0x08

SAIGE_IMAGE_8BIT_GRAY

指示8位灰度图像数据的宏。它是一个大小为Width x Height的单通道数组。

#define SAIGE_IMAGE_8BIT_GRAY 0x00

See also: SaigeInferFromByteArray, SaigeInferFromMultipleByteArray

SAIGE_IMAGE_24BIT_RGB

指示24位RGB彩色图像数据的宏。它是一个大小为Width x Height x Channels (3)的数组,通道顺序为R, G, B。

#define SAIGE_IMAGE_24BIT_RGB ( SAIGE_IMAGE_COLOR )

See also: SaigeInferFromByteArray, SaigeInferFromMultipleByteArray

SAIGE_IMAGE_24BIT_BGR

指示24位BGR彩色图像数据的宏。它是一个大小为Width x Height x Channels (3)的数组,通道顺序为B, G, R。

#define SAIGE_IMAGE_24BIT_BGR ( SAIGE_IMAGE_COLOR | SAIGE_IMAGE_BGR )

See also: SaigeInferFromByteArray, SaigeInferFromMultipleByteArray

SAIGE_IMAGE_32BIT_RGBA

指示32位RGBA彩色图像数据的宏。它是一个大小为Width x Height x Channels (4)的数组,通道顺序为R, G, B, A。

#define SAIGE_IMAGE_32BIT_RGBA ( SAIGE_IMAGE_COLOR | SAIGE_IMAGE_ALPHA )

See also: SaigeInferFromByteArray, SaigeInferFromMultipleByteArray

SAIGE_IMAGE_32BIT_BGRA

指示32位BGRA彩色图像数据的宏。它是一个大小为Width x Height x Channels (4)的数组,通道顺序为B, G, R, A。

#define SAIGE_IMAGE_32BIT_BGRA ( SAIGE_IMAGE_COLOR | SAIGE_IMAGE_ALPHA | SAIGE_IMAGE_BGR )

See also: SaigeInferFromByteArray, SaigeInferFromMultipleByteArray

SAIGE_IMAGE_16BIT_GRAY

指示16位灰度图像数据的宏。它是一个大小为Width x Height的单通道数组,每个像素表示为unsigned short。

#define SAIGE_IMAGE_16BIT_GRAY ( SAIGE_IMAGE_16BIT )

See also: SaigeInferFromByteArray, SaigeInferFromMultipleByteArray

SAIGE_IMAGE_48BIT_RGB

指示48位RGB彩色图像数据的宏。它是一个大小为Width x Height x Channels (3)的数组,通道顺序为R, G, B,每个像素表示为unsigned short。

#define SAIGE_IMAGE_48BIT_RGB ( SAIGE_IMAGE_COLOR | SAIGE_IMAGE_16BIT )

See also: SaigeInferFromByteArray, SaigeInferFromMultipleByteArray

SAIGE_IMAGE_48BIT_BGR

指示48位BGR彩色图像数据的宏。它是一个大小为Width x Height x Channels (3)的数组,通道顺序为B, G, R,每个像素表示为unsigned short。

#define SAIGE_IMAGE_48BIT_BGR ( SAIGE_IMAGE_COLOR | SAIGE_IMAGE_16BIT | SAIGE_IMAGE_BGR )

See also: SaigeInferFromByteArray, SaigeInferFromMultipleByteArray

SAIGE_IMAGE_64BIT_RGBA

指示64位RGBA彩色图像数据的宏。它是一个大小为Width x Height x Channels (4)的数组,通道顺序为R, G, B, A,每个像素表示为unsigned short。

#define SAIGE_IMAGE_64BIT_RGBA ( SAIGE_IMAGE_COLOR | SAIGE_IMAGE_16BIT | SAIGE_IMAGE_ALPHA )

See also: SaigeInferFromByteArray, SaigeInferFromMultipleByteArray

SAIGE_IMAGE_64BIT_BGRA

指示64位BGRA彩色图像数据的宏。它是一个大小为Width x Height x Channels (4)的数组,通道顺序为B, G, R, A,每个像素表示为unsigned short。

#define SAIGE_IMAGE_64BIT_BGRA ( SAIGE_IMAGE_COLOR | SAIGE_IMAGE_16BIT | SAIGE_IMAGE_ALPHA | SAIGE_IMAGE_BGR )

See also: SaigeInferFromByteArray, SaigeInferFromMultipleByteArray