Blame view

src/reprocessing_module/save_snapshot_reprocessing.h 1.32 KB
0b4cd5d5   Hu Chunming   完成轨迹定时抓拍
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  /*
   * @Author: yangzilong
   * @Date: 2021-12-14 17:51:04
   * @Last Modified by: yangzilong
   * @Email: yangzilong@objecteye.com
   * @Description:
   */
  #pragma once
  #include "opencv2/opencv.hpp"
  #include "opencv2/highgui/highgui.hpp"
  #include <string.h>
  #include <queue>
  #include <mutex>
  #include <condition_variable>
  #include <thread>
  
  #include "../ai_platform/det_obj_header.h"
  #include "../util/vpc_util.h"
e109b001   Hu Chunming   修正多显卡问题
19
  #include "../util/JpegUtil.h"
0b4cd5d5   Hu Chunming   完成轨迹定时抓拍
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
57
58
59
60
  
  #ifdef POST_USE_RABBITMQ
  #include "post_reprocessing.hpp"
  #include <memory>
  #endif // #ifdef POST_USE_RABBITMQ
  
  using namespace std;
  
  class DeviceMemory;
  
  struct ImgSaveInfo{
  	string file_path {""};
  	vpc_img_info img_info;
  	string json_str {""};
  };
  
  class save_snapshot_reprocessing
  {
  public:
  	save_snapshot_reprocessing(int devId);
  	~save_snapshot_reprocessing();
  	void save_snapshot_reprocessing_release();
  
  #ifdef POST_USE_RABBITMQ
  	void set_callback(callback_t cb);
  #endif
  
  	void reprocessing_process_wo_locus_async(ImgSaveInfo saveInfo);
  
  public:
  	void save_img_process();
  
  private:
  
  	queue<ImgSaveInfo> waitforsave_img_queue;
  	mutable std::mutex waitforsave_img_queue_mutex;
  	std::thread m_save_img_thread;
  
  	bool bFinish = false;
  	int m_devId;
  
e109b001   Hu Chunming   修正多显卡问题
61
62
63
  	JpegUtil jpegUtil;
  	VPCUtil vpc_util;
  
0b4cd5d5   Hu Chunming   完成轨迹定时抓拍
64
65
66
67
68
  #ifdef POST_USE_RABBITMQ
  	callback_t callback_;
  	std::shared_ptr<mq::post_rabbitmq_reprocessing> rbmq_handler_;
  #endif
  };