12345678910111213141516171819202122232425262728293031323334353637383940 |
- #pragma once
- #include "PageMatcher.h"
- #include "ResultReader.h"
- #include <boost/smart_ptr.hpp>
- // 下列 ifdef 块是创建使从 DLL 导出更简单的
- // 宏的标准方法。此 DLL 中的所有文件都是用命令行上定义的 IDENTIFIER_EXPORTS
- // 符号编译的。在使用此 DLL 的
- // 任何其他项目上不应定义此符号。这样,源文件中包含此文件的任何其他项目都会将
- // IDENTIFIER_API 函数视为是从 DLL 导入的,而此 DLL 则将用此宏定义的
- // 符号视为是被导出的。
- #ifdef IDENTIFIER_EXPORTS
- #define IDENTIFIER_API __declspec(dllexport)
- #else
- #define IDENTIFIER_API __declspec(dllimport)
- #endif
- namespace identify{
- // 此类是从 Identifier.dll 导出的
- class IDENTIFIER_API CIdentifier {
- public:
- CIdentifier(void);
- ~CIdentifier(void);
- private:
- bool m_isMuBanLoaded;
- CPageMatcher pm;
- CResultReader rr;
- std::string m_strQr;
- bool m_bUseQr;
- boost::shared_ptr<const ISCH_Schema> m_schema;
- public:
- void SetUseQr(bool bUseQr, const std::string&strQr);
- int GetMubanPageCount();
- void LoadMuban2(const boost::shared_ptr<const ISCH_Schema>& schema);
- BOOL IsMubanLoaded(){ return m_isMuBanLoaded; }
- int Identify2(const IplImage* img, OMR_RESULT* out_result);
- int Identify3(const IplImage* img, int schema_index, const std::vector<Point2f>& muban, const std::vector<Point2f>& shijuan, OMR_RESULT* out_result);
- };
- IDENTIFIER_API int PraseQRCode_Normal2(IplImage* img, std::string & resultString);
- }
|