做一个作用涉及的计算机视觉,并且要求只能用C++或者MATLAB实现。考虑到至少C++还用过一段时间,OpenCV也接触过。于是准备使用C++实现。在寻找样例代码的过程中,发现网上的代码最适合新手的还是各类官方tutorial以及一些比较良心的入门书籍的代码。
参考代码来自《OpenCV 实例精解(OpenCV By Example)》的第11章,使用Tesseract识别文本。
但是在代码成功运行之前,笔者在解决这个问题的时候遇到不少因为知识不够的坑,现在做一个记录,以便后面的同学能够少走一些弯路。
目录
一、安装依赖
二、编译Tsseract
三、编译OpenCV+OpenCV_contrib
四、代码测试
一、安装依赖
1.VS2017
2.cmake(我用的是写本文时的最新版,3.12.4)
3.cppan(本时期GitHub上最新release版本)
4.Tesseract 3.05.01
5.OpenCV 3.4.2
6.OpenCV_contrib 3.4.2
确保1、2、3安装完成,
以及4、5、6源码下载完成后,再开展后续操作。
二、编译Tesseract
1.创建文件夹
在编译Tesseract之前,为方便后续快速找到编译好的文件,先创建一个名为Tesseract的文件夹(如下图,有一个tesseract-5的目录,尝试了不止5次)。
名为Tesseract的目录下方再创建三个小文件夹,分别为build(编译后输出的工程文件),install(工程文件生成的安装文件),sources(tesseract源代码)。
也就是说,tesseract里面存放的是由 tesseract-3.05.01.zip 解压出来的文件。
2.使用cppan下载依赖包
此时之前下载的cppan就派上用场了。打开cmd,进入sources文件,键入cppan,cppan会自动读取sources下方的cppan.yml,按照文件里面的规定下载依赖包。如果下载成功,进入下一步。
如果下载不成功&#