Class ObjectDetection

ObjectDetectionResult 类

说明

一个用于表示和检索物体检测神经网络所识别物体相关数据的类。

语法

class ObjectDetectionResult

成员

公共构造函数

ObjectDetectionResult::ObjectDetectionResult

构造一个 NNImageClassification 对象

公共方法

ObjectDetectionResult::type

获取识别物体的类型索引。

ObjectDetectionResult::name

获取识别物体的名称。

ObjectDetectionResult::score

获取识别物体的置信度分数。

ObjectDetectionResult::xMin

获取包含识别物体的边界框左上角的 x 坐标。

ObjectDetectionResult::xMax

获取包含识别物体的边界框右下角的 x 坐标。

ObjectDetectionResult::yMin

获取包含识别物体的边界框左上角的 y 坐标。

ObjectDetectionResult::yMax

获取包含识别物体的边界框右下角的 y 坐标。

ObjectDetectionResult::type

说明

获取识别物体的类型索引,对应 COCO 图像数据集中的物体类别。

语法

int type(void);

参数

NA

返回值

一个整数,指示识别物体的类别。

示例代码

示例:ObjectDetectionCallback

备注

必须包含 "NNObjectDetection.h" 才能使用该类函数。物体类别可从 "ObjectClassList.h" 文件中获取。

ObjectDetectionResult::name

说明

获取识别物体的名称。

语法

const char* name(void);

参数

NA

返回值

一个指向字符数组的指针,包含识别物体的类别名称。

示例代码

示例:ObjectDetectionCallback

备注

必须包含 "NNObjectDetection.h" 才能使用该类函数。物体类别可从 "ObjectClassList.h" 文件中获取。

ObjectDetectionResult::score

说明

获取识别物体的置信度分数。

语法

int score(void);

参数

NA

返回值

一个范围从 0 到 100 的整数,表示识别物体类别的置信度。

示例代码

示例:ObjectDetectionCallback

备注

必须包含 "NNObjectDetection.h" 才能使用该类函数。

ObjectDetectionResult::xMin

说明

获取包含识别物体的边界框左上角的 x 坐标。

语法

float xMin(void);

参数

NA

返回值

一个范围从 0.00 到 1.00 的浮点数,0.00 表示输入视频帧的左边缘,1.00 表示输入视频帧的右边缘。

示例代码

示例:ObjectDetectionCallback

备注

必须包含 "NNObjectDetection.h" 才能使用该类函数。物体类别可从 "ObjectClassList.h" 文件中获取。

ObjectDetectionResult::xMax

说明

获取包含识别物体的边界框右下角的 x 坐标。

语法

float xMax(void);

参数

NA

返回值

一个范围从 0.00 到 1.00 的浮点数,0.00 表示输入视频帧的左边缘,1.00 表示输入视频帧的右边缘。

示例代码

示例:ObjectDetectionCallback

备注

必须包含 "NNObjectDetection.h" 才能使用该类函数。物体类别可从 "ObjectClassList.h" 文件中获取。

ObjectDetectionResult::yMin

说明

获取包含识别物体的边界框左上角的 y 坐标。

语法

float yMin(void);

参数

NA

返回值

一个范围从 0.00 到 1.00 的浮点数,0.00 表示输入视频帧的顶部边缘,1.00 表示输入视频帧的底部边缘。

示例代码

示例:ObjectDetectionCallback

备注

必须包含 "NNObjectDetection.h" 才能使用该类函数。物体类别可从 "ObjectClassList.h" 文件中获取。

ObjectDetectionResult::yMax

说明

获取包含识别物体的边界框右下角的 y 坐标。

语法

float yMax(void);

参数

NA

返回值

一个范围从 0.00 到 1.00 的浮点数,0.00 表示输入视频帧的顶部边缘,1.00 表示输入视频帧的底部边缘。

示例代码

示例:ObjectDetectionCallback

备注

必须包含 "NNObjectDetection.h" 才能使用该类函数。物体类别可从 "ObjectClassList.h" 文件中获取。

NNObjectDetection 类

说明

一个用于配置、运行和获取物体检测神经网络模型结果的类。

语法

class NNObjectDetection

成员

公共构造函数

NNObjectDetection::NNObjectDetection

构造一个 NNObjectDetection 对象。

公共方法

NNObjectDetection::configVideo

配置输入视频流参数。

NNObjectDetection::configRegionOfInterest

配置物体检测的感兴趣区域。

NNObjectDetection::configThreshold

配置物体检测阈值。

NNObjectDetection::begin

在输入视频上启动物体检测过程。

NNObjectDetection::end

停止输入视频上的物体检测过程。

NNObjectDetection::setResultCallback

设置接收物体检测结果的回调函数。

NNObjectDetection::getResultCount

获取物体检测结果的数量。

NNObjectDetection::getResult

获取物体检测结果。

NNObjectDetection::configVideo

说明

配置输入视频流参数。

语法

void configVideo(VideoSetting& config);

参数

config:包含所需视频配置的 VideoSetting 类对象。

返回值

NA

示例代码

示例:ObjectDetectionCallback

备注

必须包含 "NNObjectDetection.h" 才能使用该类函数。物体检测模型要求输入视频流使用 RGB 格式,该格式仅在视频流通道 3 上可用。需要先配置输入视频流,然后才能开始物体检测。

NNObjectDetection::configRegionOfInterest

说明

配置物体检测的感兴趣区域。物体检测将仅在感兴趣区域内的图像帧上执行。

语法

void configRegionOfInterest(int xmin, int xmax, int ymin, int ymax);

参数

xmin:感兴趣区域的左边界,以像素为单位。

xmax:感兴趣区域的右边界,以像素为单位。

ymin:感兴趣区域的上边界,以像素为单位。

ymax:感兴趣区域的下边界,以像素为单位。

返回值

NA

示例代码

示例:ObjectDetectionCallback

备注

必须包含 "NNObjectDetection.h" 才能使用该类函数。

NNObjectDetection::configThreshold

说明

配置物体检测阈值。

语法

void configThreshold(float confidence_threshold, float nms_threshold);

参数

confidence_threshold:物体检测置信度阈值。默认值为 0.5。

nms_threshold:非极大值抑制(Non-Maximal Suppression)阈值。默认值为 0.3。影响合适且精确的边界框的选择。值越小,边界框的精度越低。

返回值

NA

示例代码

NA

备注

必须包含 "NNObjectDetection.h" 才能使用该类函数。

NNObjectDetection::begin

说明

在输入视频上启动物体检测过程。

语法

void begin(void);

参数

NA

返回值

NA

示例代码

示例:ObjectDetectionCallback

备注

必须包含 "NNObjectDetection.h" 才能使用该类函数。

NNObjectDetection::end

说明

停止输入视频上的物体检测过程。

语法

void end(void);

参数

NA

返回值

NA

示例代码

NA

备注

必须包含 "NNObjectDetection.h" 才能使用该类函数。

NNObjectDetection::setResultCallback

说明

设置接收物体检测结果的回调函数。

语法

void setResultCallback(void (*od_callback)(std::vector));

参数

od_callback:一个回调函数,接受 ObjectDetectionResult 类对象的向量作为参数,并返回 void。

返回值

NA

示例代码

示例:ObjectDetectionCallback

备注

必须包含 "NNObjectDetection.h" 才能使用该类函数。每轮迭代都会使用最新结果调用回调函数。

NNObjectDetection::getResultCount

说明

获取物体检测结果的数量。

语法

uint16_t getResultCount(void);

参数

NA

返回值

最近一组结果中检测到的物体数量,以无符号整数形式返回。

示例代码

示例:ObjectDetectionCallback

备注

必须包含 "NNObjectDetection.h" 才能使用该类函数。

NNObjectDetection::getResult

说明

获取物体检测结果。

语法

ObjectDetectionResult getResult(uint16_t index);
std::vector getResult(void);

参数

index:要检索的特定物体检测结果的索引

返回值

如果未指定索引,函数返回包含在 ObjectDetectionResult 类对象向量中的所有检测到的物体。

如果指定了索引,函数返回包含在 ObjectDetectionResult 类对象中的特定检测到的物体。

示例代码

示例:ObjectDetectionLoop

备注

必须包含 "NNObjectDetection.h" 才能使用该类函数。