VideoEncoder
DetectAndCompute
函数功能
实现图像特征点的提取及计算。
函数原型
APP_ERROR DetectAndCompute(Tensor _image, Rect _mask, std::vector<cv::KeyPoint> &keyPoints, cv::OutputArray descriptors, bool useProvidedKeyPoints);
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| _image | 输入 | Tensor类,特征提取的输入图片。 - Tensor维度支持HWC(三维)。 - 不可为空,第三维C(通道数)为1,仅支持单通道。 - 支持1280 * 720输入图片尺寸。 |
| _mask | 输入 | Rect类,输入图片掩码,用于限制需要计算特征的区域,针对该区域内的图像进行特征提取。 “_mask”所表示的掩码矩形框需放置在图片内,Rect类对应的左上角坐标及右下角坐标需在图片有效范围内。 |
| keyPoints | 输入/输出 | 提取的特征点列表。 |
| descriptors | 输出 | 生成的描述子列表。 |
| useProvidedKeyPoints | 输入 | 是否提供特征点列表,即该函数仅进行描述子生成。 - 参数为“true”时,接口将会根据keyPoints传入的特征点列表生成描述子列表。 - 参数为“false”时,接口将会根据Sift算法提取特征点列表并根据列表生成描述子列表。 |
返回参数说明
| 数据结构 | 说明 |
|---|---|
| APP_ERROR | 程序执行返回的错误码,请参考APP_ERROR说明。 |
父主题: Sift
类说明
VideoEncoder类,作为视频编码类,主要开放视频编码接口。
:::note 说明 VideoEncoder类涉及申请Device侧资源,与MxDeInit的作用域冲突,因此,其作用域不能大于或等于MxDeInit的作用域。 :::
父主题: VideoEncoder
VideoEncoder
函数功能
VideoEncoder类的构造函数。若因内存不足,或无法识别芯片等构造失败的场景会抛出 std::runtime_error 异常。
函数原型
VideoEncoder(const VideoEncodeConfig& vEncodeConfig, const int32_t deviceId = 0,
const uint32_t channelId = 0);
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| vEncodeConfig | 输入 | 视频编码的参数(以结构体的形式传入)。 视频编码的最大分辨率(宽 * 高)不能超过 4096 * 2304。 |
| deviceId | 输入 | 视频编码器部署的芯片,默认为 0 号芯片。 取值范围:[0, 识别到的芯片个数 - 1]。 |
| channelId | 输入 | 视频编码器的视频流索引。 - Atlas 200I/500 A2 推理产品:只能构造一个VideoEncoder,因此用户无需设置 channelId,重复构造会导致失败。 |
父主题: VideoEncoder
~VideoEncoder
函数功能
VideoEncoder类的默认析构函数。
函数原型
~VideoEncoder()
父主题: VideoEncoder
Encode
函数功能
VideoEncoder的视频编码接口。
函数原型
APP_ERROR Encode(const Image &inputImage, const uint32_t frameId, void* userData);
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| inputImage | 输入 | 输入编码前的FrameImage结构体。 |
| frameId | 输入 | 输入视频帧索引。 |
| userData | 输入/输出 | 输入用户自定义数据(用于传入用户自定义回调函数内,主要用来获取编码结果)。 |
返回参数说明
| 数据结构 | 说明 |
|---|---|
| APP_ERROR | 程序执行返回的错误码,请参考APP_ERROR说明。 |
父主题: VideoEncoder
在线提单