打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
字符识别Google开源Tesseract
userphoto

2014.10.25

关注
Tesseract-ocr的dll tesseract-3.02.02-win32-lib-include-dirs下载地址:
Google-Tesseract-OCR
      解压之后包括 include文件夹和Lib文件夹,配置头文件和库文件,建立工程进行测试。
#include "baseapi.h"
#include "strngs.h"

#pragma  comment(lib,"libtesseract302.lib")

  1. char * str = "test.jpg";  
  2. tesseract::TessBaseAPI  api;    
  3. api.Init(NULL, "chi_sim", tesseract::OEM_DEFAULT);  //初始化,设置语言包,中文简体:chi_sim;英文:eng;也可以自己训练语言包  
  4. //api.SetVariable( "tessedit_char_whitelist", "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" );    
  5. STRING text_out;    
  6. if (!api.ProcessPages(str, NULL, 0, &text_out))    
  7. {    
  8.     return 0;    
  9. }    

上边输出text_out.string(),结果为utf-8编码格式,因此需要转码,写了一个转成GBK的代码:

  1. string UTF8ToGBK(const std::string& strUTF8)  
  2. {  
  3.     int len = MultiByteToWideChar(CP_UTF8, 0, strUTF8.c_str(), -1, NULL, 0);  
  4.     unsigned short * wszGBK = new unsigned short[len + 1];  
  5.     memset(wszGBK, 0, len * 2 + 2);  
  6.     MultiByteToWideChar(CP_UTF8, 0,LPCSTR(strUTF8.c_str()), -1, LPWSTR(wszGBK), len);  
  7.   
  8.     len = WideCharToMultiByte(CP_ACP, 0,LPCTSTR(wszGBK), -1, NULL, 0, NULL, NULL);  
  9.     char *szGBK = new char[len + 1];  
  10.     memset(szGBK, 0, len + 1);  
  11.     WideCharToMultiByte(CP_ACP,0, LPCTSTR(wszGBK), -1, szGBK, len, NULL, NULL);  
  12.     //strUTF8 = szGBK;  
  13.     std::string strTemp(szGBK);  
  14.     delete[]szGBK;  
  15.     delete[]wszGBK;  
  16.     return strTemp;  
  17. }  

由于是在mfc中应用,因此又写了一段mfc里边转成unicode的代码:

  1. wchar_t * result_str;  
  2. CString result;  
  3. //utf-8转换成unicode  
  4. int len = MultiByteToWideChar(CP_UTF8,0,text_out.string(),-1,NULL,0);  
  5. result_str = new wchar_t[len + 1];  
  6. memset(result_str,0,len + 1);  
  7. MultiByteToWideChar(CP_UTF8,0,text_out.string(),-1,result_str,len);  
  8.   
  9. //识别结果  
  10. result = result_str;  


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VC中GBK与UTF8字符串的转换
字符串处理 - ANSI - Unicode - UTF8 转换
字符编码转换_进制转换(GB2312,GBK,JNI,HexTOStr) (转)
Cocos2d-x 3.1.1 学习日志4--cocos2d-x解决中文乱码问题的几种办法
《源码探秘 CPython》23. 字符串的相关操作
ANSI编码方式转化为UTF
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服