123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182 |
- #ifndef __CLIP_CFG_H
- #define __CLIP_CFG_H
- #include "MAS_AlgoDef.h"
- #define NAMESPACE_CLIP_BEGIN namespace clip {
- #define NAMESPACE_CLIP_END };
- NAMESPACE_MAS_BEGIN
- NAMESPACE_CLIP_BEGIN
- struct ClipBuild {
- TZ_INT gpu_id;
- std::string model_path;
- std::string toJson() const
- {
- tzc::json::JsonDoc document;
- document.SetObject();
- tzc::json::setFiled(document, "gpu_id", gpu_id);
- tzc::json::setFiled(document, "model_path", model_path);
- return tzc::json::ValueToJson(document);
- }
- static TZ_BOOL fromJson(const std::string& json, ClipBuild& value)
- {
- tzc::json::JsonDoc document;
- document.Parse(json.c_str());
- if (document.HasParseError())
- {
- return FALSE;
- }
- value.gpu_id = tzc::json::getFiled(document, "gpu_id", 0);
- value.model_path = tzc::json::getFiled(document, "model_path", "");
- return TRUE;
- }
- };
- struct ClipCfg{
- TZ_INT freq;
- std::string toJson() const
- {
- tzc::json::JsonDoc document;
- document.SetObject();
- tzc::json::setFiled(document, "freq", freq);
- return tzc::json::ValueToJson(document);
- }
- static TZ_BOOL fromJson(const std::string& json, ClipCfg& value)
- {
- tzc::json::JsonDoc document;
- document.Parse(json.c_str());
- if (document.HasParseError())
- {
- return FALSE;
- }
-
- value.freq = tzc::json::getFiled(document, "freq", 0);
- return TRUE;
- }
- };
- struct OutputData
- {
- TZ_FLOAT val;
- std::string toJson() const
- {
- tzc::json::JsonDoc document;
- document.SetObject();
- tzc::json::setFiled(document, "val", val);
- return tzc::json::ValueToJson(document);
- }
- static TZ_BOOL fromJson(const std::string& json, OutputData& value)
- {
- tzc::json::JsonDoc document;
- document.Parse(json.c_str());
- if (document.HasParseError())
- {
- return FALSE;
- }
- value.val = tzc::json::getFiled(document, "val", 0.0f);
- return TRUE;
- }
- };
- struct AbandObjBox {
- TZ_DOUBLE x;
- TZ_DOUBLE y;
- TZ_DOUBLE w;
- TZ_DOUBLE h;
- AbandObjBox() : x(0.0), y(0.0), w(0.0), h(0.0) {}
- AbandObjBox(const AbandObjBox& box)
- : x(box.x), y(box.y), w(box.w), h(box.h) {}
- std::string toJson() const
- {
- tzc::json::JsonDoc document;
- document.SetObject();
- tzc::json::setFiled(document, "x", x);
- tzc::json::setFiled(document, "y", y);
- tzc::json::setFiled(document, "w", w);
- tzc::json::setFiled(document, "h", h);
- return tzc::json::ValueToJson(document);
- }
- static TZ_BOOL fromJson(const std::string& json, AbandObjBox& value)
- {
- tzc::json::JsonDoc document;
- document.Parse(json.c_str());
- if (document.HasParseError())
- {
- return FALSE;
- }
- value.x = tzc::json::getFiled(document, "x", 0.0);
- value.y = tzc::json::getFiled(document, "y", 0.0);
- value.w = tzc::json::getFiled(document, "w", 0.0);
- value.h = tzc::json::getFiled(document, "h", 0.0);
- return TRUE;
- }
- };
- struct ClipDetectResult{
- std::vector<AbandObjBox> boxes;
- std::vector<OutputData> output_data;
-
- std::string toJson() const
- {
- tzc::json::JsonDoc document;
- document.SetObject();
- tzc::json::setFiledArrayObject(document, "boxes", boxes);
- tzc::json::setFiledArrayObject(document, "output_data", output_data);
-
- return tzc::json::ValueToJson(document);
- }
-
- static TZ_BOOL fromJson(const std::string& json, ClipDetectResult& value)
- {
- tzc::json::JsonDoc document;
- document.Parse(json.c_str());
- if(document.HasParseError())
- {
- return FALSE;
- }
-
- TZ_BOOL rst = TRUE;
- rst &= tzc::json::ConverArrayObject(document, "boxes", value.boxes);
- rst &= tzc::json::ConverArrayObject(document, "output_data", value.output_data);
- return rst;
- }
- };
- NAMESPACE_CLIP_END
- NAMESPACE_MAS_END
- #endif
|