12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- /******************************************************************************
- 版权所有 (C), 2019-2029, SDC OS 开源软件小组所有
- ******************************************************************************
- 文 件 名 : user_app.h
- 版 本 号 : 初稿
- 作 者 : athina
- 生成日期 : 2019年6月8日
- 最近修改 :
- 功能描述 : 创建用户自定义APP对象
- 函数列表 :
- 修改历史 :
- 1.日 期 : 2020年7月4日
- 作 者 : jelly
- 修改内容 : 创建文件
- ******************************************************************************/
- #ifndef __USER_APP_H__
- #define __USER_APP_H__
- #include <memory>
- #include "yolov3_app.h"
- #include <iostream>
- #include <vector>
- #include "device/deviceGas.h"
- #include "dataType/NettyClientCommandEnum.h"
- #include "dataType/NettyClientResultMsg.h"
- #include "dataType/NettyServerCommandEnum.h"
- #include "dataType/NettyServerResultMsg.h"
- #include "dataType/RecDeviceCommand.h"
- #include "dataType/RecDeviceInfo.h"
- #include "dataType/SendLogin.h"
- #include "dataType/SendHeartBeat.h"
- #include "dataType/SendDevice.h"
- #include "dataType/SendBird.h"
- namespace HWYolov3App
- {
- enum class AppType
- {
- APP_TYPE_RESIZABLE,
- APP_TYPE_LETTERBOX,
- };
- // 创建APP对象
- std::shared_ptr<Yolov3App> CreateYolov3App(AppType type);
- class ResizableApp : public Yolov3App
- {
- public:
- ResizableApp(void);
- virtual ~ResizableApp(void);
- protected:
- virtual void PreProcessYuvData(sdc_yuv_frame_s &frame, uint8_t *&yuv);
- virtual void PretreatObjectData(SDC_SSD_OBJECT_INFO_S &data);
- virtual void ClassifyTargets(uint32_t uclass, uint8_t target[20]);
- virtual void PrintObjectInfo(const SDC_SSD_OBJECT_INFO_S &info) const;
- virtual void SendObjectsToWeb(const SDC_SSD_RESULT_S &stResult, sdc_yuv_frame_s &yuvFrame);
- virtual void SendOjbectsToMediaServer(const SDC_SSD_RESULT_S &stResult);
- };
- class LetterboxApp : public Yolov3App
- {
- public:
- LetterboxApp(void);
- virtual ~LetterboxApp(void);
- protected:
- virtual void PreProcessYuvData(sdc_yuv_frame_s &frame, uint8_t *&yuv);
- virtual void PretreatObjectData(SDC_SSD_OBJECT_INFO_S &data);
- virtual void ClassifyTargets(uint32_t uclass, uint8_t target[20]);
- virtual void PrintObjectInfo(const SDC_SSD_OBJECT_INFO_S &info) const;
- virtual void SendObjectsToWeb(const SDC_SSD_RESULT_S &stResult, sdc_yuv_frame_s &yuvFrame);
- virtual void SendOjbectsToMediaServer(const SDC_SSD_RESULT_S &stResult);
- private:
- float m_mapRatio;
-
- };
- }
- #endif /* __USER_APP_H__ */
|