一键部署Tesseract-OCR环境C++版本(Windows)

2024-03-10 17:20

本文主要是介绍一键部署Tesseract-OCR环境C++版本(Windows),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

环境:Windows 10
工具:git vcpkg vscode cmake
库:Tesseract

一键部署Tesseract-OCR环境C++版本(Windows)

分享这篇文章的原因很简单,就是为了让后续的朋友少走弯路。自己在搜索相关C++版本的tesseract部署时,资料实在是少得可怜,基本上都是python版本的,哎,看的真的是难受。希望学习tesseract的朋友不要因为配置环境而浪费时间。

一、下载Github

首先你需要下载GitHub,因为在第二步会使用到该软件。

地址: https://desktop.github.com/
点击下载即可。
在这里插入图片描述

下载完成配置环境变量,如下图所示。
环境变量的地址就是你自己安装位置。
如:我的Git安装位置是在C:\Program Files\Git,
那么我在环境变量中添加的Path路径就是:
C:\Program Files\Git\cmd
如下图所示。
在这里插入图片描述
在这里插入图片描述

二、下载vcpkg

VCPKG是什么
VCPKG是微软 C++ 团队开发的适用于 C 和 C++ 库的跨平台开源软件包管理器,它大大简化了 Windows、Linux 和 macOS 上第三方库相关的下载和配置操作,目前已有超过1600个第三方库可以通过vcpkg来安装。(摘录)

也就是说,使用vcpkg下载需要的安装库,你不用考虑编译构建的问题了,直接就可以搞代码了。

1、通过Windows+R,打开运行窗口,并输入cmd,打开命令行。
在这里插入图片描述
2、输入下面命令,开始下载vcpkg

git clone https://github.com/microsoft/vcpkg

下载完成后,同样在环境变量中配置一下路径,如下所示。
在这里插入图片描述

3、下载完成后,进入vcpkg文件下,在路径栏中,输入cmd并回车打开。
如下图所示。
在这里插入图片描述
在这里插入图片描述
4、在命令行窗口中输入下面的命令:

.\vcpkg\bootstrap-vcpkg.bat

在这里插入图片描述

5、再在命令行窗口中输入下面的命令:

.\vcpkg integrate install

在这里插入图片描述
6、上述完成后,就可以开始安装所需要的库了。
在输入需要安装的包名,这里是tesseract,所以命令如下:

.\vcpkg install tesseract

如果要安装其他的库,完全可以的,如下所示:

.\vcpkg install 【你想要安装的库名】

安装示意图如下,下载需要很长时间,耐心等待。(ps:我是晚上下载的,所以开了一晚上电脑)
在这里插入图片描述

三、配置环境

同样需要在你下载完成的tesseract中配置环境变量,如下所示。
在这里插入图片描述

四、代码引用

如果使用的是visual studio那么直接就可以,应该不需要配置其他环境了。
因为本人使用的是vscode,需要配置cmakelist才能够正确的找到对应的引用路径,cmakelist如下所示。

cmake_minimum_required(VERSION 3.0.0)
project(yourProject VERSION 0.1.0 LANGUAGES C CXX)// 修改为你自己的路径
set(CMAKE_TOOLCHAIN_FILE "C:/Users/HYW/vcpkg/scripts/buildsystems/vcpkg.cmake")
include(CTest)
enable_testing()// 修改为你自己的路径
include_directories(C:/Users/HYW/vcpkg/packages/tesseract_x64-windows/include)
link_directories(C:/Users/HYW/vcpkg/packages/tesseract_x64-windows/lib)add_executable(yourProject main.cpp)
target_link_libraries(${PROJECT_NAME} ${DEPENDENCIES})
set(CPACK_PROJECT_NAME ${PROJECT_NAME})
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
include(CPack)

在文件中进行引用,如果没有报错,那么说明成功调用了。

#include <tesseract/baseapi.h>

这篇关于一键部署Tesseract-OCR环境C++版本(Windows)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/794952

相关文章

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

c++ 类成员变量默认初始值的实现

《c++类成员变量默认初始值的实现》本文主要介绍了c++类成员变量默认初始值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录C++类成员变量初始化c++类的变量的初始化在C++中,如果使用类成员变量时未给定其初始值,那么它将被

如何在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

《如何在Ubuntu24.04上部署Zabbix7.0对服务器进行监控》在Ubuntu24.04上部署Zabbix7.0监控阿里云ECS服务器,需配置MariaDB数据库、开放10050/1005... 目录软硬件信息部署步骤步骤 1:安装并配置mariadb步骤 2:安装Zabbix 7.0 Server

C++中NULL与nullptr的区别小结

《C++中NULL与nullptr的区别小结》本文介绍了C++编程中NULL与nullptr的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编... 目录C++98空值——NULLC++11空值——nullptr区别对比示例 C++98空值——NUL

C++ Log4cpp跨平台日志库的使用小结

《C++Log4cpp跨平台日志库的使用小结》Log4cpp是c++类库,本文详细介绍了C++日志库log4cpp的使用方法,及设置日志输出格式和优先级,具有一定的参考价值,感兴趣的可以了解一下... 目录一、介绍1. log4cpp的日志方式2.设置日志输出的格式3. 设置日志的输出优先级二、Window

从入门到精通C++11 <chrono> 库特性

《从入门到精通C++11<chrono>库特性》chrono库是C++11中一个非常强大和实用的库,它为时间处理提供了丰富的功能和类型安全的接口,通过本文的介绍,我们了解了chrono库的基本概念... 目录一、引言1.1 为什么需要<chrono>库1.2<chrono>库的基本概念二、时间段(Durat

C++20管道运算符的实现示例

《C++20管道运算符的实现示例》本文简要介绍C++20管道运算符的使用与实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录标准库的管道运算符使用自己实现类似的管道运算符我们不打算介绍太多,因为它实际属于c++20最为重要的

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

SQLite3 在嵌入式C环境中存储音频/视频文件的最优方案

《SQLite3在嵌入式C环境中存储音频/视频文件的最优方案》本文探讨了SQLite3在嵌入式C环境中存储音视频文件的优化方案,推荐采用文件路径存储结合元数据管理,兼顾效率与资源限制,小文件可使用B... 目录SQLite3 在嵌入式C环境中存储音频/视频文件的专业方案一、存储策略选择1. 直接存储 vs

c++中的set容器介绍及操作大全

《c++中的set容器介绍及操作大全》:本文主要介绍c++中的set容器介绍及操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录​​一、核心特性​​️ ​​二、基本操作​​​​1. 初始化与赋值​​​​2. 增删查操作​​​​3. 遍历方