vs2015 vs2017安装tesseract401库并编译使用

tesseract 是一个开源的OCR 引擎,本文就介绍一下自己在编译 tesseract4.1.0时遇到的一些坑,希望能给大家带来一些帮助。
https://blog.csdn.net/fengya1/article/details/82704736
参考了很多文章折腾了好几天,最后还是通过vcpkg安装成功了,亲测有效,编译后的lib文件vs2015 vs2017都能用。
第一步:安装vcpkg 工具网站在后面在此 https://github.com/microsoft/vcpkg

vcpkg是命令行包管理工具,在使用第三方库的c或c++开发中可以简化相关的配置操作。

安装vcpkg之前我们需要先安装Git 和 cmake这两个工具,教程很多,只需要1.下载安装2.配置环境变量即可。

  也可以在guihut上面搜索 vcpkg

 下载好之后打开vcpkg 的目录

在这里插入图片描述

然后shift+鼠标右键打开Windows PowerShell (类似于以管理员身份运行cmd)

然后输入命令 ./vcpkg install tesseract:x64-windows

如果出现英语无法识别而报错

打开这个 选择修改然后点击这个如图
在这里插入图片描述
在这里插入图片描述

然后重新再编译 (友情提示使用 windows PowerShell 下载会很慢,如果下载失败,可以直接复制好下载链接自行下载,然后将文件按提示文件名文件路径添加到对应目录中,再次输入指令 ./vcpkg install tesseract:x64-windows进行安装。

下载好 然后在使用./vcpkg install tesseract:x64-windows 它会自动解压

最后在输入这个命令 ./vcpkg install tesseract:x64-windows-static 等待编译完成

生成目录如下
将lib和include头文件集成到项目中,类似于opencv配置,配合tessdate (https://github.com/tesseract-ocr/tessdata)进行使用

#include <iostream>
#include <memory>
#include <allheaders.h> // leptonica main header for image io
#include <baseapi.h> // tesseract main header
int main(int argc, char *argv[])
{
    if (argc == 1)
        return 1;
    tesseract::TessBaseAPI tess;
    if (tess.Init("E:/OpenCV_DNN数据集/tessdata", "eng"))
    {
        std::cout << "OCRTesseract: Could not initialize tesseract." << std::endl;
        return 1;
    }
    // setup
    tess.SetPageSegMode(tesseract::PageSegMode::PSM_AUTO);
    tess.SetVariable("save_best_choices", "T");
    // read image
    auto pixs = pixRead(argv[1]);
    if (!pixs)
    {
        std::cout << "Cannot open input file: " << argv[1] << std::endl;
        return 1;
    }
    // recognize
    tess.SetImage(pixs);
    tess.Recognize(0);
    // get result and delete[] returned char* string
    std::cout << std::unique_ptr<char[]>(tess.GetUTF8Text()).get() << std::endl;
    // cleanup
    tess.Clear();
    pixDestroy(&pixs);
    return 0;
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值