VpcBatchCrop
函数功能
用于实现批量抠图功能,调用该接口前必须调用Init接口来实现该功能的初始化。
- 输入输出数据支持的图像格式参考如下。
- Atlas 200/300/500 推理产品支持YUV_SP_420、YVU_SP_420(nv12、nv21)。
- Atlas 200I/500 A2 推理产品支持YUV_SP_420、YVU_SP_420(nv12、nv21)。
- Atlas 推理系列产品支持YUV_SP_420、YVU_SP_420、RGB_888、BGR_888(nv12、nv21、rgb、bgr),其中RGB(BGR)图像格式分辨率不超过(4096 * 4096)。
- “inputDataInfo”的真实图片分辨率范围:18 * 6 ~ 4096 * 4096,其中 YUV_SP_420 和 YVU_SP_420 格式的分辨率为18 * 6 ~ 8192 * 8192。
- 抠图区域不超出输入图像区域,输入抠图坐标框“cropConfig”的四个值推荐均为偶数。除RGB、BGR以外,若包含奇数,则左上角坐标自动向下取偶数,右下角坐标自动向上取偶数。
- 抠图区域的最大分辨率为4096 * 4096,最小分辨率为18 * 6。例如:cropConfig{1, 1, 1287, 1287},实际抠图宽高为:((1287 + 1) - (1 - 1))= 1288,对应的分辨率为1288 * 1288。
函数原型
APP_ERROR DvppWrapper::VpcBatchCrop(DvppDataInfo& inputDataInfo, std::vector<DvppDataInfo>& outputDataInfoVec, std::vector<CropRoiConfig>& cropConfigVec, AscendStream& stream);
APP_ERROR DvppWrapper::VpcBatchCrop(DvppDataInfo& inputDataInfo, std::vector<DvppDataInfo>& outputDataInfoVec, std::vector<CropRoiConfig>& cropConfigVec);
APP_ERROR DvppWrapper::VpcBatchCrop(std::vector<DvppDataInfo>& inputDataInfoVec, std::vector<DvppDataInfo>& outputDataInfoVec, std::vector<CropRoiConfig>& cropConfigVec, AscendStream& stream);
APP_ERROR DvppWrapper::VpcBatchCrop(std::vector<DvppDataInfo>& inputDataInfoVec, std::vector<DvppDataInfo>& outputDataInfoVec, std::vector<CropRoiConfig>& cropConfigVec);
参数说明
参数名 |
输入/输出 |
说明 |
---|---|---|
inputDataInfo |
输入 |
待抠图的数据。 |
inputDataInfoVec |
输入 |
待抠图的一组数据。 |
outputDataInfoVec |
输出 |
抠图后输出的一组数据。长度不为0。 |
cropConfigVec |
输入 |
抠图配置组。长度要求与outputDataInfoVec一致。数组中单个配置要求和VpcCrop方法的cropConfig一致。具体请参见CropRoiConfig。 |
stream |
输入 |
AscendStream类型,当不输入AscendStream& stream或者参数值为“AscendStream::DefaultStream()”时,接口为同步操作,其他情况下,接口为异步操作。 |
返回参数说明
数据结构 |
说明 |
---|---|
APP_ERROR |
程序执行返回的错误码,请参考APP_ERROR说明。 |
父主题: DvppWrapper