AscendCL DVPP 模块学习

华为的Ascend CL 中,数据预处理包含两大工具 AIPP 和 DVPP。

其中 DVPP中主要提供了5个功能模块,包括视频编码模块(VENC)、视频解码模块(VDEC)、JPEG图片解码(JPEGE)、JPEG图片解码(JPEGD)、视觉预处理模块(VPC)

1. JPEG图片解码

功能

  • JPEGD(JPEG decoder)实现.jpg、.jpeg、.JPG、.JPEG图片的解码,对于硬件不支持的格式,会使用软件解码。
  • 针对不同的源图编码格式,解码后,输出如下格式的图片:
    jpeg(YUV444SP) -> YUV444SP V在前U在后 、YUV420 SP V在前U在后、YUV420SP U在前V在后;
    jpeg(YUV422SP) -> YUV422SP V在前U在后、YUV420SP V在前U在后、YUV420SP U在前V在后;
    jpeg(YUV420SP) -> YUV420SP V在前U在后、YUV420SP U在前V在后;
    jpeg(YUV400) -> YUV420SP,UV数据采用0x80填充

相关函数接口

在这里插入图片描述

流程

  • 如要调用 acldvppDestroyChannelDesc 接口释放 acldvppChannelDesc 类型数据,必须先调用acldvppDestroyChannel 销毁channel通道
  • 同一通道不能在多个Stream中并发使用
  • 整体调用顺序
    • 创建通道描述对象:调用acldvppCreateChannelDesc创建acldvppChannelDesc对象
    • 创建通道:调用acldvppCreateChannel( acldvppChannelDesc )创建通道
    • 创建图片描述:调用acldvppCreatePicDesc创建acldvppPicDesc对象
    • 执行操作…
    • 销毁图片描述:调用acldvppDestroyPicDesc( acldvppPicDesc )销毁图片描述
    • 销毁通道:调用acldvppDestroyChannel( acldvppChannelDesc )销毁通道
    • 销毁通道描述对象:调用acldvppDestroyChannelDesc( acldvppChannelDesc )销毁通道描述对象
      注:第2~4步循环调用,直到所用图片处理完成

2. VDEC视频解码

功能

  • VDEC(video decoder)实现视频的解码,VDEC内部经过VPC处理后,输出YUV420SP格式(包括NV12和NV21)的图片
  • VDEC支持两种输入格式:
    H264 bp/mp/hp level5.1 YUV420SP编码的码流
    H265 8/10bit level5.1 YUV420SP编码的码流
  • VDEC支持的输入码流的分辨率:最大分辨率4096 * 4096,最小分辨率128 * 128
  • VDEC输出图像的格式为:
    YUV420SP NV12
    YUV420SP NV21
  • VDEC输出图片的宽高对齐要求为:输出图片的widthStride(对齐后的宽度),对齐到16;输出图片的heightStride(对齐后的高度),对齐到2
  • 若码流中有坏帧、缺帧等情况,解码器VDEC可能会丢帧
  • 通过隔行扫描方式编码出来的码流, VDEC仅支持解码H264 8bit编码的码流

相关函数接口

在这里插入图片描述

大体流程

  • 调用 aclvdecCreateChannel 创建通道描述信息
  • 调用 aclvdecSetChannelDesc 对通道描述信息加以设置,包含解码通道号、线程、回调函数、视频编码协议等,其中线程和回调函数需要提前创建,同时线程函数还需要自定义
  • 调用 aclvdecCreateChannel 创建视频码流数据处理通道
  • 调用 acldvppCreateStreamDesc 创建输入视频码流描述信息,并调用 acldvppSetStreamDesc 设置输入视频的内存地址、内存大小、码流格式等属性
  • 调用 aclvdecSendFrame 将视频码流解码成YUV420SP格式的图片
  • 调用 aclvdecDestroyChannel 销毁视频处理的通道
  • 调用 aclvdecDestroyChannelDesc 销毁通道描述信息

3. VPC

功能

  • 抠图:从输入图片中抠出需要用的图片区域
  • 缩放:针对不同分辨率的图像,当前支持非8K缩放(用于处理输入图片分辨率在326~40964096范围内的图片);从是否抠多张图的维度,可分为单图裁剪缩放(支持非压缩格式)、一图多框裁剪缩放(支持非压缩格式);其它缩放方式,如:原图缩放、等比例缩放
  • 叠加:从输入图片中抠出来的图,对抠出的图进行缩放后,放在用户输出图片的指定区域,输出图片可以是空白图片(由用户申请的空输出内存产生的),也可以是已有图片(由用户申请输出内存后将已有图片读入输出内存),只有当输出图片是已有图片时,才表示叠加
  • 拼接,从输入图片中抠多张图片,对抠出的图进行缩放后,放到输出图片的指定区域
  • 格式转换:支持RGB格式、YUV格式之间的格式转换;图像灰度化,从YUV420SP格式的输出图像数据中只取Y分量的数据
    [抠图+缩放+叠加]

拼接

相关函数接口

在这里插入图片描述

大体流程

  • 调用 acldvppCreateChannelDesc 创建通道描述信息
  • 调用 acldvppCreateChannel 创建图片数据处理的通道
  • 调用 acldvppCreateRoiConfig 创建抠图区域位置的配置、acldvppCreateResizeConfig 创建缩放配置
  • 调用 acldvppVpcCropAsync 和 acldvppVpcResizeAsync 执行抠图和缩放操作
  • 调用 acldvppDestroyRoiConfig 和 acldvppDestroyResizeConfig 分别销毁抠图区域位置的配置、缩放配置
  • 调用 acldvppDestroyChannel 销毁图片数据处理的通道
  • 调用 acldvppDestroyChannelDesc 销毁通道描述信息
  • 17
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于YOLO v4算法对常见电力巡检目标进行检测(利用Ascend310提供的DVPP等硬件支持能力来完成流媒体的传输、处理等任务).zip基于YOLO v4算法对常见电力巡检目标进行检测(利用Ascend310提供的DVPP等硬件支持能力来完成流媒体的传输、处理等任务).zip基于YOLO v4算法对常见电力巡检目标进行检测(利用Ascend310提供的DVPP等硬件支持能力来完成流媒体的传输、处理等任务).zip基于YOLO v4算法对常见电力巡检目标进行检测(利用Ascend310提供的DVPP等硬件支持能力来完成流媒体的传输、处理等任务).zip基于YOLO v4算法对常见电力巡检目标进行检测(利用Ascend310提供的DVPP等硬件支持能力来完成流媒体的传输、处理等任务).zip基于YOLO v4算法对常见电力巡检目标进行检测(利用Ascend310提供的DVPP等硬件支持能力来完成流媒体的传输、处理等任务).zip基于YOLO v4算法对常见电力巡检目标进行检测(利用Ascend310提供的DVPP等硬件支持能力来完成流媒体的传输、处理等任务).zip基于YOLO v4算法对常见电力巡检目标进行检测(利用Ascend310提供的DVPP等硬件支持能力来完成流媒体的传输、处理等任务).zip基于YOLO v4算法对常见电力巡检目标进行检测(利用Ascend310提供的DVPP等硬件支持能力来完成流媒体的传输、处理等任务).zip基于YOLO v4算法对常见电力巡检目标进行检测(利用Ascend310提供的DVPP等硬件支持能力来完成流媒体的传输、处理等任务).zip基于YOLO v4算法对常见电力巡检目标进行检测(利用Ascend310提供的DVPP等硬件支持能力来完成流媒体的传输、处理等任务).zip 【资源说明】 1、该资源内项目代码都是经过测试运行成功,功能正常的情况下才上传的,请放心下载使用。 2、适用人群:主要针对计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、数学、电子信息等)的同学或企业员工下载使用,具有较高的学习借鉴价值。 3、不仅适合小白学习实战练习,也可作为大作业、课程设计、毕设项目、初期项目立项演示等,欢迎下载,互相学习,共同进步!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值