12345678910111213141516171819202122232425262728293031323334353637383940 |
- #ifndef FuncOrdinary_H
- #define FuncOrdinary_H
- #include "FuncBase.h"
- #include "spdlog/spdlog.h"
- struct ListAlarmInfo;
- /**
- * @brief 普通任务识别,一个算法只需要一个摄像机,包括 违禁品识别、玩手机检测、老鼠等
- 1、报警判断条件:机房内出现摄像头的违禁物品识别算法输出结果包含指定违规内容时,记为报警行为,直接
- 展示报警结果
- 2、这里应该是不区分违禁物品是什么,只要有违禁物品就报警。如果一个违禁物品消失之前又出现了第二个违禁物品,
- 两个违禁物品都消失后,这次报警才会结束,也就是说,不会同时出现两个报警信息。
- 3、一有报警信息就写入到EQM数据库的tAlarmInfo表中,报警开始时间是EventTime
- 4、如果报警结束时间小于设置的最小间隔,就删除这条数据,超过这个时间,就更新结束时间
- 5、报警信息要有图片,如果当前没有图片,就使用上一张图片
- *
- * @param info 线程信息
- */
- class FuncOrdinary : public FuncBase
- {
- public:
- FuncOrdinary();
- ~FuncOrdinary();
- /* 任务线程 */
- void thread_task() override;
- private:
- /* 判断报警时长是否符合不同应用的最小间隔 */
- bool isAlarmTimeVaild(const AlarmInfo& info);
- private:
- std::shared_ptr<spdlog::logger> m_logger = nullptr;
- ListAlarmInfo m_listAlarm; /* 报警列表 */
- };
- #endif // FuncOrdinary_H
|