Blame view

src/ai_engine_module/RoadSegAnalysis.h 971 Bytes
2ae58093   Hu Chunming   添加road_seg算法
1
  #include "include.h"
06e0182f   Hu Chunming   修复src图片alignWidth...
2
3
4
5
6
7
8
9
10
11
  #include "../village_inc.h"
  #include "road_seg.h"
  
  #include <vector>
  
  using namespace std;
  
  struct RoadInfo{
      std::vector<LineInfo> vec_line;
      std::vector<SegInfo> vec_road;
81e8a405   Hu Chunming   初步完成SDK
12
13
  
      cv::Mat direct_mask;
06e0182f   Hu Chunming   修复src图片alignWidth...
14
  };
2ae58093   Hu Chunming   添加road_seg算法
15
16
17
18
19
20
21
22
23
  
  class RoadSegAnalysis
  {
  public:
      RoadSegAnalysis(/* args */);
      ~RoadSegAnalysis();
  
      int init(int devId);
  
06e0182f   Hu Chunming   修复src图片alignWidth...
24
      std::vector<RoadInfo> detect(vector<sy_img> vec_img);
2ae58093   Hu Chunming   添加road_seg算法
25
  
81e8a405   Hu Chunming   初步完成SDK
26
27
28
29
30
31
      int check_reverse_driving(cv::Mat direct_mask, sy_rect rc, int src_width, int src_height, int head_or_tail);
  
      int check_cross_line(std::vector<LineInfo>& vec_line, sy_rect rc);
  
      int check_cross_region(std::vector<SegInfo>& vec_reg, sy_rect rc, int region_type);
  
2ae58093   Hu Chunming   添加road_seg算法
32
33
34
  private:
      int release();
  
06e0182f   Hu Chunming   修复src图片alignWidth...
35
36
      std::vector<SegInfo> parse_seg(rs_result one_result, sy_img src);
  
81e8a405   Hu Chunming   初步完成SDK
37
38
39
      cv::Mat parse_direct(rs_result one_result, sy_img src);
  
      void post_direct(rs_result one_result, sy_img src);
2ae58093   Hu Chunming   添加road_seg算法
40
41
42
43
  private:
      void* m_handle{nullptr};
      aclrtContext ctx{nullptr};
  };