Tesseract-OCR 3.04简单使用举例(读入图像输出识别结果)
下面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;
}
测试图像如下:
执行结果如下:
GitHub: https://github.com/fengbingchun/OCR_Test
Tesseract-OCR 3.04简单使用举例(读入图像输出识别结果)相关推荐
- Tesseract OCR简介(三)--安装及参数使用
参考:AI-Tesseract-OCR简介_花熊的博客-CSDN博客_tesseract坐标 一.windows 1.1 Tesseract安装 适用于Tesseract 3.05和Tesseract ...
- 关于Tesseract OCR 中文训练识别小试(java调用Tess4j)
2017.9.20日小结 最近接到是关于消防系统协议解析仪器的项目,目的是从协议解析仪器获取有效数据,并解析数据(目的是不希望消防主机的数据信息再传给主机厂商而是最后能给自己收集调用).由于各个消防器 ...
- Tesseract OCR与文本智能识别
博主简介 博主是一名大二学生,主攻人工智能研究.感谢让我们在CSDN相遇,博主致力于在这里分享关于人工智能,c++,Python,爬虫等方面知识的分享. 如果有需要的小伙伴可以关注博主,博主会继续更新 ...
- Tesseract OCR——Windows 10 + CMake-GUI + Visual Studio 2019下编译和使用解决方案
基本概念 Tesseract OCR:Tesseract-OCR 引擎最先由HP实验室于1985年开始研发,至1995年时已经成为OCR业内最准确的三款识别引擎之一.然而,HP不久便决定放弃OCR业务 ...
- C#使用Tesseract OCR 解析验证码
下面介绍一个开源的OCR引擎Tesseract2.值得庆幸的是虽然是开源的但是它的识别率较高,并不比其他引擎差劲.网上介绍Tessnet2也是当时时间排名第三的识别引擎,只是后来慢慢不维护了,目前是G ...
- [转]tesseract OCR Engine overview字符识别学习
原文地址:http://blog.csdn.net/viewcode/article/details/7790065 正文: 原文: An Overview of the Tesseract OCR ...
- android自动识别文字,Android文字识别tesseract ocr -训练样本库 识别字库
目录 安装tesseract ocr引擎和jTessBoxEditor 安装jTessBoxEditor 开始制作box 准备好训练的图片 将图片转为tif格式的样本图片 合并样本图片 修改box文件 ...
- Tesseract OCR简介(一)
简介 Tesseract(/'tesərækt/) 这个词的意思是"超立方体",指的是几何学里的四维标准方体,又称"正八胞体".右图是一个正八胞体绕着两个四维空 ...
- An Overview of the Tesseract OCR Engine译文
An Overview of the Tesseract OCR Engine译文 Abstract Tesseract OCR引擎以及UNLV OCR精度第四次年度测试中的HP Research P ...
最新文章
- BASE64Encoder cannot be resolved to a type类似问题的解决办法
- [vue] 组件中写name选项有什么作用?
- HTML只言片语网站导航模板
- 对象存储 OSS > 开发指南 > 存储类型 > 存储类型介绍
- 实现二叉树的遍历(递归与非递归)
- 小偷程序原理和简单示例
- 从三方面分析,Java程序员如何晋升为高薪Java架构师?
- 302重定向:302 Moved Temporarily
- ARM7、ARM9、ARM11、ARM-Cortex的关系
- 清理c盘爆满告急,C盘清理
- 必备收藏!9种工具让开发员工作更高效、生活更轻松
- ios屏幕的旋转,Device Orientation
- 概率统计Python计算:卡方分布分位点计算
- 戴尔笔记本电源已接通未充电
- kkFiewView代码分析(三)有关CAD文件的转换
- 使用hifiasm组装hifi基因组的方法介绍
- 系统平台开发搭建订单补充源代码部署
- (语法糖)ES6类class声明类的方式 -ES5类声明继承
- 推荐一个 SpringBoot 2.x + vue 实现的个人支付宝、微信支付系统
- 奥的斯服务器显示spb,奥的斯Gen2故障处理手册【维修面板SPB代码识别】
热门文章
- Python,OpenCV图像金字塔cv2.pyrUp(), cv2.pyrDown()
- Python:python中的可变类型和不可变类型
- 单片机I/O控制方式(UART中断和DMA中断的区别)
- pycharm代码模板设置
- 两个tplink路由器有线桥接_路由器有线桥接设置方法
- RayTracking 光线跟踪算法
- 获取 Andriod keystore签名证书文件,用于打包APP应用
- 在Unity中制作4种不同的游戏
- 从Excel中导入数据时,提示“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”的解决办法...
- caffe prototxt分析