PicAnalysis.h 1.62 KB
#include "./ai_engine_module/include.h"
#include "./ai_engine_module/VehicleAnalysis.h"
#include "./ai_engine_module/VehicleHeadTail.h"
#include "./ai_engine_module/VidClothes.h"
#include "./ai_engine_module/HumanAnalysis.h"
#include "./ai_engine_module/HumanCarAnalysis.h"
#include "./ai_engine_module/MotorRainshedAnalysis.h"
#include "./ai_engine_module/MotorPhoneAnalysis.h"
#include "./ai_engine_module/RoadSegAnalysis.h"

#include "./utils/CropUtil.h"
#include "./utils/PathUtils.hpp"

#include "village_inc.h"
#include "atlas_licence.h"

#include <mutex>

using namespace std;


class PicAnalysis
{
public:
    PicAnalysis(/* args */);
    ~PicAnalysis();

    int init(VillageParam param);

    vector<AnalysisResult> analysis_file(vector<string> file_path);

    vector<AnalysisResult> analysis_img(vector<sy_img> vec_img);

private:
    int release();

    bool CheckTime();
    bool CheckLabel(int devId);
  	bool UpdateLabel();

private:
    aclrtContext m_ctx{nullptr};
    aclrtStream stream{nullptr};
    DvppProcess* m_dvpp{nullptr};

    VehicleAnalysis m_vehicle_analysis;
    VehicleHeadTail m_head_tail_algorithm;
    VidClothes m_clothes_algorithm;
    HumanAnalysis m_human_algorithm;
    HumanCarAnalysis m_human_car_algorithm;
    MotorRainshedAnalysis m_motor_rainshed_algorithm;
    MotorPhoneAnalysis m_motor_phone_algorithm;
    RoadSegAnalysis m_road_seg_algorithm;

    CropUtil m_crop_util;

    std::mutex m_single_mtx;

    void *skt_handle {nullptr};//授权
	atlas_licence_check_param check_param;//授权
	int check_label {-1};//授权 -1=未授权  0=授权  1=授权check日已经check成功(每月一次check)
};