mirror of
https://github.com/MaaAssistantArknights/MaaAssistantArknights.git
synced 2026-07-17 18:01:26 +08:00
42 lines
982 B
C++
42 lines
982 B
C++
#ifndef __OCR_ANGLENET_H__
|
|
#define __OCR_ANGLENET_H__
|
|
|
|
#include "OcrStruct.h"
|
|
#include "onnxruntime_cxx_api.h"
|
|
#include <opencv/cv.hpp>
|
|
|
|
class AngleNet {
|
|
public:
|
|
AngleNet();
|
|
|
|
~AngleNet();
|
|
|
|
void setNumThread(int numOfThread);
|
|
|
|
void initModel(const std::string &pathStr);
|
|
|
|
std::vector<Angle> getAngles(std::vector<cv::Mat> &partImgs, const char *path,
|
|
const char *imgName, bool doAngle, bool mostAngle);
|
|
|
|
private:
|
|
bool isOutputAngleImg = false;
|
|
|
|
Ort::Session *session;
|
|
Ort::Env env = Ort::Env(ORT_LOGGING_LEVEL_ERROR, "AngleNet");
|
|
Ort::SessionOptions sessionOptions = Ort::SessionOptions();
|
|
int numThread = 0;
|
|
|
|
char *inputName;
|
|
char *outputName;
|
|
|
|
const float meanValues[3] = {127.5, 127.5, 127.5};
|
|
const float normValues[3] = {1.0 / 127.5, 1.0 / 127.5, 1.0 / 127.5};
|
|
const int dstWidth = 192;
|
|
const int dstHeight = 32;
|
|
|
|
Angle getAngle(cv::Mat &src);
|
|
};
|
|
|
|
|
|
#endif //__OCR_ANGLENET_H__
|