# emotion_StaticLib
**Repository Path**: cnlycs/emotion_StaticLib
## Basic Information
- **Project Name**: emotion_StaticLib
- **Description**: 表情识别模块
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2023-02-11
- **Last Updated**: 2023-02-26
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
### 前提配置:
fastdeploy配置,opencv3以上的配置。
### 介绍:
相比之前进行优化,相应的函数有所改动。
共四个函数emotion_Infer,emotion_Cpu_init,emotion_Gpu_init,emotion_infer_by_camera
如果只是单纯的推理先进行emotion_Cpu_init或emotion_Gpu_init进行初始化,接受返回的参数,后调用emotion_Infer即可推理,emotion_infer_by_camera仅仅只是推理demo。
下面会用代码简单展示使用demo
```
auto emotion_CpuModel = emotion_Cpu_init(model_dir);\\初始化配置参数,返回模型,参数为模型路径
std::string result;\\设定一个接受结果的参数
result = emotion_Infer(emotion_CpuModel,frame);\\完成推理,第一个参数为模型,第二个参数为推理的图片,cv::Mat
\\n段代码过后
result = emotion_Infer(emotion_CpuModel,frame);\\再次推理无需配置初始化
```
**重点!!!
以上三段代码即可完成推理,前两行代码只需要配置一次,推理函数即可emotion_Infer(emotion_CpuModel,frame)重复调用,无需再此推理**
### 函数具体介绍:
|函数声明|参数|返回值|说明|
|--|--|--|--|
|`fastdeploy::vision::classification::PaddleClasModel emotion_Cpu_init(const std::string& model_dir)`|`const std::string& model_dir`该参数为模型路径|`fastdeploy::vision::classification::PaddleClasModel`返回值为模型|CPU初始化函数,使用cpu推理使用该函数初始化并接受返回值|
|fastdeploy::vision::classification::PaddleClasModel emotion_Gpu_init(const std::string& model_dir)|同上|同上|该函数为GPU推理,使用GPU推理使用该函数初始化并接受返回值|
|`std::string emotion_Infer(fastdeploy::vision::classification::PaddleClasModel model, const cv::Mat image)`|参数为`fastdeploy::vision::classification::PaddleClasModel model, const cv::Mat image`,参数一为前面两个函数初始化返回值,第二个参数为cv::Mat即需要推理的图片|返回推理结果|推理函数,一次初始化,该函数可重复调用|
|int emotion_infer_by_camera(const std::string& device, const std::string& model_dir, const std::string& window_name = "video")|参数为`const std::string& device, const std::string& model_dir, const std::string& window_name = "video"`第一个参数为使用设备传如"cpu"或"gpu",第二个参数为模型路径,与之前版本一样,第三个为标签传入"emotion"即可|返回值不重要,可不接收,如果返回非0值,即异常结束,具体原因会打印|该函数为测试demo|