Blame view

src/util/vpc_util.h 1.39 KB
0b4cd5d5   Hu Chunming   完成轨迹定时抓拍
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
  #ifndef ___VPC_UTIL_H__
  #define ___VPC_UTIL_H__
  
  #include "acl/acl.h"
  #include "acl/ops/acl_dvpp.h"
  #include "acl/dvpp/hi_dvpp.h"
  #include "../ai_platform/header.h"
  
  #include <string>
  #include <vector>
  
  using namespace std;
  
  struct vpc_img_info{
      acldvppPicDesc* pic_desc{nullptr};
      string task_id;              //该物体属于的任务ID
      int task_frame_count;     //该物体当前出现的帧号
      int object_id;            //该物体的ID
      int index;                //该物体所属类别的编号
      double confidence;        //该物体的置信度
  };
  
  class DeviceMemory;
  
e109b001   Hu Chunming   修正多显卡问题
25
  class VPCUtil {
0b4cd5d5   Hu Chunming   完成轨迹定时抓拍
26
  
e109b001   Hu Chunming   修正多显卡问题
27
  public:
29b64a88   Hu Chunming   添加行人逆行算法
28
29
30
31
32
33
34
      static VPCUtil* getInstance(){
  		static VPCUtil* singleton = nullptr;
  		if (singleton == nullptr){
  			singleton = new VPCUtil();
  		}
  		return singleton;
  	}
0b4cd5d5   Hu Chunming   完成轨迹定时抓拍
35
  
29b64a88   Hu Chunming   添加行人逆行算法
36
37
38
39
      ~VPCUtil()
      {
          release();
      }
0b4cd5d5   Hu Chunming   完成轨迹定时抓拍
40
  
29b64a88   Hu Chunming   添加行人逆行算法
41
      static void vpc_pic_desc_release(acldvppPicDesc* );
e109b001   Hu Chunming   修正多显卡问题
42
  
29b64a88   Hu Chunming   添加行人逆行算法
43
      static void vpc_img_release(vpc_img_info );
e109b001   Hu Chunming   修正多显卡问题
44
  
29b64a88   Hu Chunming   添加行人逆行算法
45
      static void vpc_imgList_release(vector<vpc_img_info>& );
e109b001   Hu Chunming   修正多显卡问题
46
  
29b64a88   Hu Chunming   添加行人逆行算法
47
48
49
50
      static vpc_img_info vpc_devMem2vpcImg(DeviceMemory *devMem);
  
  public:
      vpc_img_info crop(DeviceMemory *devMem, video_object_info obj);
e109b001   Hu Chunming   修正多显卡问题
51
  
29b64a88   Hu Chunming   添加行人逆行算法
52
53
54
55
56
      int init(int32_t devId);
  
      vector<vpc_img_info> crop_batch(DeviceMemory *devMem, vector<video_object_info> objs);
  
      void release();
e109b001   Hu Chunming   修正多显卡问题
57
58
59
60
  
  private:
      int32_t deviceId_;
      aclrtContext context_;
e109b001   Hu Chunming   修正多显卡问题
61
62
63
  
      acldvppChannelDesc *dvppChannelDesc_;
  };
0b4cd5d5   Hu Chunming   完成轨迹定时抓拍
64
  
0b4cd5d5   Hu Chunming   完成轨迹定时抓拍
65
  
0b4cd5d5   Hu Chunming   完成轨迹定时抓拍
66
67
  
  #endif  //___VPC_UTIL_H__