Blame view

src/common/cnn_cls/cnn_cls.h 1011 Bytes
20396d5c   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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
  #ifndef _CNNCls_H_

  #define _CNNCls_H_

  

  #include <memory>

  #include "utils.h"

  #include "acl/acl.h"

  #include "model_process.h"

  

  using namespace std;

  

  namespace atlas_utils {

  

  #ifndef BBOX_WIDTH

  #define BBOX_WIDTH 8

  #endif

  

  #ifndef DATA_TYPE_SIZE

  #define DATA_TYPE_SIZE 4

  #endif

  

  class CnnCls {

  public:

      struct ConfigParams {

          float confThr = 0.0; //显示初始化,有的编译器会不执行默认初始化

      };

  

      CnnCls() {}

      ~CnnCls() {

          Release();

      }

  

      int Init(const char* modelPath);

      int Inference(ImageData& input);

      int PostProcess(vector<float>& result);

      int PostProcess_batch(vector<vector<float>>& result);

  

      int GetInputWidth();

      int GetInputHeight();

  

      ConfigParams config;

  

  private:

      void Release();

  

      vector<vector<int>> outDims_;

      vector<vector<int>> inDims_;

      ModelProcess model_;

      uint32_t modelWidth_;

      uint32_t modelHeight_;

      aclrtRunMode runMode_;

  

  };

  

  }

  

  #endif