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

news2024/10/1 19:36:34

环境: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>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1505557.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C/C++指针详解

接下来我们来介绍一下什么是指针&#xff1f; 指针其实就是元素存放地址&#xff0c;更加形象的比喻&#xff1a;在酒店中如果你想要去注必须去付费不然不能住&#xff0c;在计算机也同样如此&#xff08;但是不需要付费哦&#xff09;每当我们使用一个变量或其他需要申请空间…

Unity ShaderGraph实现地面积水效果

先看看效果 右侧参数&#xff0c;能够控制水高&#xff0c;波纹的速度等&#xff0c;但是这个效果需要修改高度图和凹凸图&#xff0c;毕竟有些模型并不是平面&#xff0c;对于具有斜面的模型就需要修改贴图。 ShaderGraph如下

STM32CubeIDE基础学习-STM32CubeIDE软件程序仿真调试

STM32CubeIDE基础学习-STM32CubeIDE软件程序仿真调试 前言 一般编写完程序后都会进行编译&#xff0c;看结果是否有存在语法错误&#xff0c;确认没有语法错误之后再进行代码的下载观察硬件执行是否和软件编程预期的结果一致&#xff0c;如果发现硬件执行达不到预期现象&#…

PHP 高仿抖音滑动H5随机短视频源码

源码名称&#xff1a;高仿抖音滑动H5随机短视频源码 源码介绍&#xff1a;一款带后台的高仿抖音滑动H5随机短视频源码&#xff0c;带打赏功能。支持之定义视频源&#xff0c;可设置本地读取播放源或站外的API播放源链接。支持点击跳转联系QQ或微信。支持广告弹窗&#xff0c;可…

如何使用固定公网地址SFTP远程传输文件至安卓Termux本地目录?

文章目录 1. 安装openSSH2. 安装cpolar3. 远程SFTP连接配置4. 远程SFTP访问4. 配置固定远程连接地址 SFTP&#xff08;SSH File Transfer Protocol&#xff09;是一种基于SSH&#xff08;Secure Shell&#xff09;安全协议的文件传输协议。与FTP协议相比&#xff0c;SFTP使用了…

主升浪趋势票如何去做,看完这2个例子就可以终结了

我们在这个市场是否能持续赚钱不被淘汰取决于我们自身迭代速度&#xff0c;向市场学习本身就是向市场资金共识方向靠拢&#xff0c;接近客观&#xff0c;远离个人偏见的主观。看清这一点&#xff0c;你才有可能性&#xff0c;否则连可能性都不会有。 在上述问题中&#xff0c;虽…

数字化审计智慧

简析内部审计数字化转型的方法和路径 内部审计是一种独立的、客观的确认和咨询活动&#xff0c;包括鉴证、识别和分析问题以及提供管理建议和解决方案。狭义的数字化转型是指将企业经营管理和业务操作的各种行为、状态和结果用数字的形式来记录和存储&#xff0c;据此再对数据进…

实验三 虚拟内存管理-实验部分

目录 一、知识点 1、虚拟存储 1.1、虚拟存储需求 1.2、虚拟存储的局部现象 1.3、虚拟页式存储管理 1.4、虚拟页式存储管理总流程 2、页面置换算法 2.1、页面置换算法的概念 2.2、常见的局部页面置换算法 3、虚拟存储管理实现分析 3.1、总体流程介绍 3.2、关键数据结…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:RotationGesture)

用于触发旋转手势事件&#xff0c;触发旋转手势的最少手指为2指&#xff0c;最大为5指&#xff0c;最小改变度数为1度。 说明&#xff1a; 从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 接口 RotationGesture(value?: …

【Python】time模块

专栏文章索引&#xff1a;Python 目录 一、介绍​编辑 二、常用函数​编辑 一、介绍 Python 的 time 模块提供了处理时间的函数。 二、常用函数 1.time()&#xff1a;返回当前时间的时间戳&#xff08;从1970年1月1日开始计时的秒数&#xff09;。 import timecurrent_ti…

C语言从入门到熟悉------第一阶段

本文介绍 本文创作参考如下图书&#xff1a; 本书作者&#xff1a;吴明杰、曹宇、吴丹。 ISBN&#xff1a;9787111553076 计算机语言发展的三个阶段 先来看计算机语言的发展主要分为如下图三个阶段。 C语言的优点 C语言的优点有三个&#xff1a; 1&#xff09;代码量小。 …

2024年装修新潮流,你get到了吗?福州中宅装饰,福州装修

在装修这个行业&#xff0c;每年都会出现一些新的设计理念和流行趋势&#xff0c;同时也存在一些传统的设计理念。今天&#xff0c;我们就来对比一下2024年装修设计的传统与新趋势。 传统设计理念 1. 落地电视柜 在过去&#xff0c;落地电视柜被认为是一种实用的设计&#xf…

C++椭圆检测论文复现 Ubuntu 22.04+Vscode+opencv3.4

复现的代码 本博客旨在复现论文《An Efficient High-quality Ellipse Detection》&#xff0c;该文章本来只有Matlab的代码实现&#xff0c;后来被islands翻译成了c 库&#xff0c;大家可以参考islands发在知乎上的文章高质量椭圆检测库&#xff0c;C的代码链接。 使用环境 U…

java SSM流浪宠物救助与领养myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM流浪宠物救助与领养管理系统是一套完善的web设计系统&#xff08;系统采用SSM框架进行设计开发&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系…

Linux内存管理--系列文章壹

一、引子 作者、我在上班闲着没事的时候&#xff0c;看了一些关于Linux内存管理和程序装载、链接的文章&#xff0c;然后自己就总结出了一些东西。 本系列文章一方面将资料中的长篇大论总结到最少、以方便可以直接找到答案&#xff0c;一方面也是方便面试的时候可以吹牛逼。 L…

从 Language Model 到 Chat Application:对话接口的设计与实现

作者&#xff1a;网隐 RTP-LLM 是阿里巴巴大模型预测团队开发的大模型推理加速引擎&#xff0c;作为一个高性能的大模型推理解决方案&#xff0c;它已被广泛应用于阿里内部。本文从对话接口的设计出发&#xff0c;介绍了业界常见方案&#xff0c;并分享了 RTP-LLM 团队在此场景…

Spring-AOP基础(全在这里)

八股文部分来源于网络&#xff0c;例子为原创 OOP(Object-oriented programming) 也就是面向对象编程&#xff0c;继承&#xff0c;封装&#xff0c;多态。 局限性 静态语言&#xff1a;类结构一旦定义&#xff0c;不容易被修改(并不是无法修改)。只能侵入性扩展&#xff1a…

C语言 --- 指针(5)

目录 一.sizeof和strlen对比 1.sizeof 2.strlen 3.strlen 和sizeof的对比 二.数组和指针笔试题目详解 回顾&#xff1a;数组名的理解 1.一维数组 2.字符数组 代码1&#xff1a; 代码2&#xff1a; 代码3&#xff1a; 代码4&#xff1a; 代码5&#xff1a; 代码6&am…

《JAVA与模式》之门面模式

系列文章目录 文章目录 系列文章目录前言一、医院的例子二、门面模式的结构三、门面模式的实现四、门面模式的优点五、门面模式在Tomcat中的使用前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,…

【论文阅读】OpsEval

粗糙翻译&#xff0c;如有兴趣请看原文&#xff0c;链接&#xff1a;https://arxiv.org/abs/2310.07637 摘要 信息技术&#xff08;IT&#xff09;运营&#xff08;Ops&#xff09;&#xff0c;特别是用于IT运营的人工智能&#xff08;AlOps&#xff09;&#xff0c;是保持现…