#pragma once
|
#include "../common/StringUtil.h"
|
#include "../common/Win32Util.h"
|
#include "ConfigUtil.h"
|
#include <opencv2/opencv.hpp>
|
#include <opencv2/highgui.hpp>
|
#include <opencv2/core.hpp>
|
#include <opencv2/imgcodecs.hpp>
|
#include <tesseract/baseapi.h>
|
#include <leptonica/allheaders.h>
|
|
class ThsCodeOCR
|
{
|
private:
|
tesseract::TessBaseAPI* tessApi;
|
|
|
private:
|
/// <summary>
|
/// »ñȡͬ»¨Ë³µÄ¾ä±ú
|
/// </summary>
|
/// <returns></returns>
|
static HWND getTHSWindow();
|
|
/// <summary>
|
/// »Ò¶È»Í¼Ïñ
|
/// </summary>
|
/// <param name="src"></param>
|
/// <returns></returns>
|
static cv::Mat grayImage(cv::Mat src);
|
|
|
public:
|
|
ThsCodeOCR();
|
~ThsCodeOCR();
|
|
/// <summary>
|
/// ½ØÍ¼
|
/// </summary>
|
/// <returns></returns>
|
static cv::Mat capture(OCRWindowParams params);
|
|
/// <summary>
|
/// ½«»ñÈ¡µ½µÄ»Ò¶ÈͼÇиî³ö´úÂëÊÓͼ
|
/// </summary>
|
/// <param name="src"></param>
|
/// <returns></returns>
|
static cv::Mat splitForCodeImg(cv::Mat src);
|
|
/// <summary>
|
/// ´úÂëʶ±ð
|
/// </summary>
|
/// <param name="src"></param>
|
/// <returns></returns>
|
string ocrCode(cv::Mat src);
|
|
/// <summary>
|
/// ´úÂëʶ±ð£¨°üº¬½ØÍ¼/·Ö¸ô£©
|
/// </summary>
|
/// <returns></returns>
|
string ocrCode();
|
};
|