#ifndef FACEID2_0_GRAYDETECT_H #define FACEID2_0_GRAYDETECT_H #include #include "THFeature_i.h" #include #include "BaseDetect.h" #include "FileUtil.h" #include "FiStdDefEx.h" //#include "THFaceLive_i.h" #include using namespace std; class GrayDetect : public BaseDetect{ public: GrayDetect(const char* grayFileName, int width, int height) { if (grayFileName != nullptr) { GrayDetect::grayFileName = grayFileName; GrayDetect::width = width; GrayDetect::height = height; long int fileSize = FileUtil::getFileSize(grayFileName); if (GrayDetect::fileSize != fileSize) { GrayDetect::grayImageBuff = make_shared>(fileSize); GrayDetect::fileSize = fileSize; } if (GrayDetect::grayImageBuff == nullptr) { GrayDetect::grayImageBuff = make_shared>(fileSize); } if (GrayDetect::facePos == nullptr) { GrayDetect::facePos = make_shared>(5); } FILE *file = fopen(grayFileName, "r+"); int bytes_read = fread(grayImageBuff.get()->data(), sizeof(unsigned char), fileSize, file); fclose(file); } } bool detect(int detectFaceCount); bool detect(int channel, int detectFaceCount); static shared_ptr> facePos; static int width,height; static const char* grayFileName; static shared_ptr> grayImageBuff; static long int fileSize; static int face_nums; }; #endif //FACEID2_0_GRAYDETECT_H