Tesseract-OCR 3.04简单使用举例(读入图像输出识别结果)
生活随笔
收集整理的這篇文章主要介紹了
Tesseract-OCR 3.04简单使用举例(读入图像输出识别结果)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
????? ? 下面code是對Tesseract-OCR 3.04版本進行簡單使用的舉例:包括兩段,一個是讀入帶有中文字符的圖像,一個是讀入僅有英文字符的圖像:
#include "funset.hpp"#include <iostream>
#include <string>
#include <vector>#include <allheaders.h>#include <baseapi.h>
#include <basedir.h>
#include <renderer.h>
#include <strngs.h>
#include <tprintf.h>
#include <openclwrapper.h>namespace {#ifdef _MSC_VER
void utf8_to_gbk(const char* utf8, char* gbk)
{const int maxlen = 128;wchar_t unicode_str[maxlen];int outlen = MultiByteToWideChar(CP_UTF8, 0, utf8, strlen(utf8), unicode_str, maxlen);outlen = WideCharToMultiByte(CP_ACP, 0, unicode_str, outlen, gbk, 128, nullptr, nullptr);gbk[outlen] = '\0';
}
#endif} // namespaceint test_recognize_image_content_1()
{// reference: https://github.com/tesseract-ocr/tesseract/wiki/APIExample
{ // chinese// Initialize tesseract-ocrtesseract::TessBaseAPI* api = new tesseract::TessBaseAPI();const char* datapath{ "E:/GitCode/OCR_Test/test_data/tessdata/" };if (api->Init(datapath, "chi_sim")) {fprintf(stderr, "Could not initialize tesseract.\n");return -1;}// Open input image with leptonica libraryPix* image = pixRead("E:/GitCode/OCR_Test/test_data/chi_sim_1.png");api->SetImage(image);// Get OCR resultchar* outText = api->GetUTF8Text();char gbk[256];utf8_to_gbk(outText, gbk);fprintf(stdout, "OCR output: %s\n", gbk);// Destroy used object and release memoryapi->End();delete api;delete[] outText;pixDestroy(&image);
}{ // english// Initialize tesseract-ocrtesseract::TessBaseAPI* api = new tesseract::TessBaseAPI();const char* datapath{ "E:/GitCode/OCR_Test/test_data/tessdata/" };if (api->Init(datapath, "eng")) {fprintf(stderr, "Could not initialize tesseract.\n");return -1;}// Open input image with leptonica libraryPix* image = pixRead("E:/GitCode/OCR_Test/test_data/eng_1.png");api->SetImage(image);// Get OCR resultchar* outText = api->GetUTF8Text();char gbk[256];utf8_to_gbk(outText, gbk);fprintf(stdout, "OCR output: %s\n", gbk);// Destroy used object and release memoryapi->End();delete api;delete[] outText;pixDestroy(&image);
}return 0;
}
????? ? 測試圖像如下:
????? ? 執(zhí)行結(jié)果如下:
????? ? GitHub:?https://github.com/fengbingchun/OCR_Test?
總結(jié)
以上是生活随笔為你收集整理的Tesseract-OCR 3.04简单使用举例(读入图像输出识别结果)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在Windows/Ubuntu上使用Vi
- 下一篇: Windows7/10上快速搭建Tess