xcode+tesseract 搭建一个简单的图像文字识别程序
2017-09-08 17:54
495 查看
获取tesseract
作为开源项目,tesseract的官方资源可以从GitHub上面得到。阅读readme文件可以解决大部分初步使用者的疑问。tesseract在GitHub上的链接:https://github.com/tesseract-ocr/tesseract
使用homebrew安装tesseract:
brew install tesseract
安装好后,在终端输入tesseract会出现帮助文档。
查看装好的语言库:
tesseract --list-langs
可以看见只有英语(eng),于是我又装了简体中文(chi_sim)。在https://github.com/tesseract-ocr/tessdata中下载chi_sim.traineddate,放在tesseract的目录(/usr/local/Cellar/tesseract/3.05.01/share/tessdata)下。
现在来测试一下,使用本页的截图:
在终端输入命令:
tesseract 获取tesseract.png out -l eng+chi_sim
得到的结果:
好像也并没有特别准 -_-!
在Xcode中配置
说实话是第一次用Xcode,于是浪费了很多时间在熟悉ide上面,不过最终还是纯野生地搞定了。tesseract自带对C/C++的API,于是第一个程序我就选择了用C++写。官方的使用手册在http://tesseract-ocr.github.io。
发现了比较简单的添加lib文件的办法。首先将lib直接拖拽到project的framework中:
这里调用的是/usr/local/Cellar/tesseract/3.05.01/lib/libtesseract.dylib。这时候库文件的路径已经自动导入了,还需要再添加一个头文件的搜索路径。在header search paths里面添加一项/usr/local/Cellar/tesseract/3.05.01/include/tesseract/:
第一个程序使用了别人的代码。参考这个网页:http://www.cnblogs.com/cappuccino/p/4650665.html,原博应该是转载的谷歌本身提供的代码样例,但是很遗憾在原博提供的地址上我没有找到所转原文。下面是我使用的代码和运行结果:
#include <iostream> #include <baseapi.h> #include <allheaders.h> int main() { char *outText; tesseract::TessBaseAPI *api = new tesseract::TessBaseAPI(); // Initialize tesseract-ocr with English, without specifying tessdata path if (api->Init(NULL, "eng+chi_sim")) { fprintf(stderr, "Could not initialize tesseract.\n"); exit(1); } // Open input image with leptonica library Pix *image = pixRead("/Users/mac/Desktop/获取tesseract.png"); api->SetImage(image); // Get OCR result outText = api->GetUTF8Text(); printf("OCR output:\n%s", outText); // Destroy used object and release memory api->End(); delete [] outText; pixDestroy(&image); return 0; }
相关文章推荐
- [转]一个简单的基于Tesseract的数字识别程序
- 利用开源程序(ImageMagick+tesseract-ocr)实现图像验证码识别
- spring笔记--从零搭建一个简单的HelloWorld程序
- HzhJava框架搭建二:添加tomcat和spring运行一个简单web程序
- Java OCR tesseract 图像智能文字字符识别技术实例代码
- Qt + Opencv 实现的一个简单文字识别的demo
- 转:关于使用ImageMagick和Tesseract进行简单数字图像识别
- 一个用于图像标注的简单Web程序
- 一个简单的显示bmp图像宽高的c程序
- Android文字图像识别并翻译的简单实现
- 浅谈RMI - 搭建一个简单的RMI程序
- tesseract 4.0 ocr图像识别利器,可识别文字。图片越高清越准确
- Study notes for OpenCV——第三节:Opencv一个简单的程序:显示图像
- OpenCV开发环境搭建-并测试一个图像灰度处理程序
- JavaSE图像验证码简单识别程序详解
- 使用ImageMagick和Tesseract进行简单数字图像识别
- opencv学习(6) 一个非常简单的图像均值模糊程序
- 一个简单的图像处理的程序
- Mac下安装ionic搭建一个简单的程序
- 一个简单的显示图像程序(OpenCV)