当前位置: 首页 > news >正文

Linux安装Tesseract-OCR(操作系统CentOS)

Linux安装Tesseract-OCR

  • 第一步,安装依赖
  • 第二步,下载安装包
  • 第三步,安装leptonica库
  • 第四步,安装tesseract
  • 第五步,添加语言包
  • 第六步,测试

第一步,安装依赖

sudo yum install libpng-devel
rpm -qa | grep libpng-devel
sudo yum install libjpeg-devel
rpm -qa | grep libjpeg-devel
sudo yum install tiff-devel
rpm -qa | grep tiff-devel
sudo yum install libtool-ltdl
rpm -qa | grep libtool-ltdl
sudo yum install gcc
gcc --version
sudo yum install g++
g++ --version
sudo yum install automake
automake --version

第二步,下载安装包

leptonica-1.78.0.tar.gz
下载地址 http://www.leptonica.org/source/leptonica-1.78.0.tar.gz

tesseract-5.2.0.tar.gz
下载地址 https://codeload.github.com/tesseract-ocr/tesseract/tar.gz/refs/tags/5.2.0

第三步,安装leptonica库

#1、首先,使用tar命令解压leptonica-1.78.0.tar.gz文件。这个命令会将压缩包中的所有文件和目录提取到当前目录下
tar -xzvf leptonica-1.78.0.tar.gz#2、然后,进入解压后的目录leptonica-1.78.0
cd leptonica-1.78.0#3、./autogen.sh是一个用于生成Makefile文件的脚本。它会根据系统的环境和配置信息,自动生成适合当前环境的Makefile文件,以便进行编译和安装。通常在源代码包中提供该脚本,用户需要先运行该脚本,然后再执行make命令进行编译和安装。
./autogen.sh
【如果执行autogen.sh脚本提示libtoolize: 未找到命令,执行sudo yum install libtool】#4、接下来,执行configure命令进行配置
./configure --prefix=/usr/local/leptonica#5、配置完成后,执行make命令进行编译
make#6、最后,使用sudo make install命令进行安装。这个命令需要管理员权限,因为安装软件通常需要修改系统文件。
sudo make install接下来配置 leptonica 环境变量
#1、打开 /etc/profile
vim /etc/profile#2、追加以下字段
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/leptonica/lib/pkgconfig
export PKG_CONFIG_PATH
CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/leptonica/include/leptonica
export CPLUS_INCLUDE_PATH
C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/leptonica/include/leptonica
export C_INCLUDE_PATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/leptonica/lib
export LD_LIBRARY_PATH
LIBRARY_PATH=$LIBRARY_PATH:/usr/local/leptonica/lib
export LIBRARY_PATH
LIBLEPT_HEADERSDIR=/usr/local/leptonica/include/leptonica
export LIBLEPT_HEADERSDIR#3、应用配置
source /etc/profile

第四步,安装tesseract

#1、首先,使用tar命令解压tesseract-5.2.0.tar.gz文件。这个命令会将压缩包中的所有文件和目录提取到当前目录下。
tar -xzvf tesseract-5.2.0.tar.gz#2、然后,进入解压后的目录tesseract-5.2.0.tar.gz
cd tesseract-5.2.0#3、./autogen.sh是一个用于生成Makefile文件的脚本。它会根据系统的环境和配置信息,自动生成适合当前环境的Makefile文件,以便进行编译和安装。通常在源代码包中提供该脚本,用户需要先运行该脚本,然后再执行make命令进行编译和安装。
./autogen.sh#4、执行configure命令进行配置(这步可能会提示报错,看看自己缺少什么依赖就安装什么依赖)
./configure --prefix=/usr/local/tesseract#5、配置完成后,执行make命令进行编译
配置完成后,执行make命令进行编译
make#6.最后,使用sudo make install命令进行安装。这个命令需要管理员权限,因为安装软件通常需要修改系统文件
sudo make install接下来配置 tesseract 环境变量
#1、打开 /etc/profile
vim /etc/profile#2、追加以下字段
PATH=$PATH:/usr/local/tesseract/bin
export PATH
export TESSDATA_PREFIX=/usr/local/share/tessdata
#export PATH=$PATH:$TESSDATA_PREFIX#3、应用配置
source /etc/profile#4、测试一下
tesseract -v

第五步,添加语言包

#1、如果你不想每次都指定语言包加载路径的话...你需要: 将软件安装目录下的 tessdata目录 拷贝到 /usr/local/share/tessdata目录#2、下载 tesseract 语言包(从你win系统里面的C:\Program Files\Tesseract-OCR\tessdata里面的语言包拷贝到Linux服务器上/usr/local/share/tessdata目录就可以了,因为这样操作是最安全的,不然会出现奇奇怪怪的问题等待你处理,因为你下载的语言包不一定是正确的。)ps:前提是你的win安装了tesseract,并且在安装的时候选择了安装语言包

第六步,测试

识别图片命令
tesseract 567.png outputteee -l chi_sim+eng参数说明
tesseract = 命令
567.png=当前目录文件
outputteee=会在当前目录生成outputteee.txt文件
-l chi_sim+eng=中文+英文,如果是单个语言-l chi_sim就可以了

相关文章:

Linux安装Tesseract-OCR(操作系统CentOS)

Linux安装Tesseract-OCR 第一步,安装依赖第二步,下载安装包第三步,安装leptonica库第四步,安装tesseract第五步,添加语言包第六步,测试 第一步,安装依赖 sudo yum install libpng-devel rpm -q…...

pair和typedef

文章目录 一、pair用法1.2、pair的创建和初始化1.3、pair对象的操作1.4、(make_pair)生成新的pair对象1.5、通过tie获取pair元素值 2、typedef2.1、什么是typedef2.2、typedef用法2.2.1、对于数据类型使用例如:2.2.2、对于指针的使用例如2.2.3、对于结构体的使用 2.…...

rdf-file:分布式环境下的文件处理

一:简介 数据量大了以后,单机解析或者生成文件的效率就很低,需要通过集群处理: 机构过来的文件:我们先对文件进行分片,在利用集群集群处理分片文件。给机构文件:分库分表数据,每个…...

Maven下载与安装教程

一、下载 Maven 进入 Maven 官网:maven.apache.org/download.cgi 选择 .zip 文件下载,最新版本是 3.9.5 二、安装 Maven 将 .zip 文件解压到没有中文没有空格的路径下。例如下图,在创建一个repository的空文件夹在他的下面,用于…...

C++(20):通过starts_with/ends_with检查字符串

C20提供了starts_with用于检查字符串是否以某个字符串开始&#xff0c;ends_with用于检查是否以某个字符串结束&#xff1a; #include <iostream> #include <string> using namespace std;int main() {string str "hello and 88";cout<<str.star…...

YOLOv8+Nanodet强强联合改进标签分配:使用NanoDet动态标签分配策略,同时集成VFL全新损失,来打造新颖YOLOv8检测器

💡本篇内容:YOLOv8+Nanodet强强联合改进标签分配:使用NanoDet动态标签分配策略,同时集成VFL全新损失,来打造新颖YOLOv8检测器 💡🚀🚀🚀本博客 YOLO系列 + 改进NanoDet模型的动态标签分配策略源代码改进 💡一篇博客集成多种创新点改进:VFL损失函数 + Nanodet…...

base64字符串转成file

分割base64字符串&#xff0c;获取base64的格式和ASCII字符串&#xff1b;使用atob()方法将base64中的ASCII字符串解码成二进制数据"字符串"&#xff1b;将二进制数据按位放入8 位无符号整型数组中适用new File()方法将ArrayBuffer转换成file对象 const base64 &qu…...

NextJS开发:Prisma开启SQL日志输出

在 Prisma 中打印执行的 SQL 可以通过在 PrismaClient 实例上设置 log 配置参数来实现。具体步骤如下&#xff1a; 在你的Prisma项目根目录中&#xff0c;找到 prisma/schema.prisma 文件在 datasource 块中&#xff0c;找到你正在使用的数据库配置&#xff0c;并添加 provide…...

barcode.js+elementUi——实现二维码的展示——基础积累

barcode.js——实现二维码的展示——基础积累 CSDN服务器一直报错条形码需求分析1.barcode.js的引入2.html页面上的写法——我这边是一个elementUI的弹窗条形码3.script中的部分 CSDN服务器一直报错 最近不知道怎么了&#xff0c;CSDN一直报服务器错误&#xff0c;不能只有我自…...

vue2 el-table 封装

vue2 el-table 封装 在 custom 文件夹下面创建 tableList.vue直接上代码&#xff08;代码比较多&#xff0c;复制可直接用&#xff09; <template><div class"mp-list"><el-tableref"multipleTable"class"mp-custom-table":dat…...

harmonyos应用开发者高级认证考试部分答案(2)

一、判断 只要使用端云一体化的云端资源就需要支付费用&#xff08;错&#xff09; 所有使用Component修饰的自定义组件都支持onPageShow&#xff0c;onBackPress和onPageHide生命周期函数。&#xff08;错&#xff09; HarmonyOS应用可以兼容OpenHarmony生态&#xff08;对&am…...

【物联网与大数据应用】Hadoop数据处理

Hadoop是目前最成熟的大数据处理技术。Hadoop利用分而治之的思想为大数据提供了一整套解决方案&#xff0c;如分布式文件系统HDFS、分布式计算框架MapReduce、NoSQL数据库HBase、数据仓库工具Hive等。 Hadoop的两个核心解决了数据存储问题&#xff08;HDFS分布式文件系统&#…...

Kotlin学习——kt里的集合List,Set,Map List集合的各种方法之Int篇

Kotlin 是一门现代但已成熟的编程语言&#xff0c;旨在让开发人员更幸福快乐。 它简洁、安全、可与 Java 及其他语言互操作&#xff0c;并提供了多种方式在多个平台间复用代码&#xff0c;以实现高效编程。 https://play.kotlinlang.org/byExample/01_introduction/02_Functio…...

docker buildx跨架构构建笔记(x86_64构建下构建aarch64镜像)

docker buildx跨架构构建(x86_64构建aarch64镜像) 文章目录 docker buildx跨架构构建(x86_64构建aarch64镜像)简介第一步 先交叉编译一个aarch64的HelloWorld程序。准备一个用于跨架构的Dockerfile文件使用docker buildx命令构建aarch64架构的镜像。查看镜像具体详细信息&#…...

Sass基础知识详细讲解【附带表图】

文章目录 前言使用 SassRack / Rails / Merb插件缓存选项语法选择编码 Sass CSS扩展Sass 注释输出 Sass 脚本Sass -规则和指令Sass 控制指令和表达式 Sass 混入指令Sass 功能指令命名约定Sass 输出样式:nested:expanded:compact:compressedSass 扩展缓存存储自定义导入 后言 前…...

《斯坦福数据挖掘教程·第三版》读书笔记(英文版)Chapter 3 Finding Similar Items

来源&#xff1a;《斯坦福数据挖掘教程第三版》对应的公开英文书和PPT It is therefore a pleasant surprise to learn of a family of techniques called locality-sensitive hashing, or LSH, that allows us to focus on pairs that are likely to be similar, without hav…...

天眼销:超有用的企业获客工具

天眼销是资深数据团队开发的一个客户资源查询平台&#xff0c;可以通过多重筛选&#xff1a;企业名称/信用代码&#xff0c;所在地区&#xff0c;行业&#xff0c;注册资本&#xff0c;年限&#xff0c;是否在营/有电话/邮箱等。 天眼销和某查查有什么区别&#xff1f; 天*查/…...

dbeaver连接amabri-hbase

目录 尝试过程 解决之道 总结 尝试过程 注意此章节为记录试错过程&#xff0c;无需跟随操作&#xff0c;仅作试错记录。真正操作方法请看“解决之道”章节 环境ambari安装的hbase2.1.6 使用apche phoenix默认驱动配置 备注&#xff1a;Apache Phoenix 是一个开源的、基于…...

Mac IDEA解决Maven项目命令行报错:command not found: mvn

1. 使用idea自带的maven命令 open -e ~/.zshrc 2. 在其最下面增加 # maven export MAVEN_HOME"/Applications/IntelliJ IDEA.app/Contents/plugins/maven/lib/maven3" export PATH$MAVEN_HOME/bin:$PATH # maven end 3. 连接使之生效 source ~/.zshrc4. 修改mvn…...

线性回归 梯度下降

梯度下降算法 在开始之前&#xff0c;为了方便解释&#xff0c;首先规定几个符号所代表的意义&#xff1a; m m m 训练集中训练样本的数量 X X X 输入变量 Y Y Y 输出变量 ( x , y ) (x,y) (x,y) 训练样本 ( x i , y i ) (x^i,y^i) (xi,yi)第i个训练样本&#xff08;i表示…...

内存分配函数malloc kmalloc vmalloc

内存分配函数malloc kmalloc vmalloc malloc实现步骤: 1)请求大小调整:首先,malloc 需要调整用户请求的大小,以适应内部数据结构(例如,可能需要存储额外的元数据)。通常,这包括对齐调整,确保分配的内存地址满足特定硬件要求(如对齐到8字节或16字节边界)。 2)空闲…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》

引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖

在前面的练习中&#xff0c;每个页面需要使用ref&#xff0c;onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入&#xff0c;需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力

引言&#xff1a; 在人工智能快速发展的浪潮中&#xff0c;快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型&#xff08;LLM&#xff09;。该模型代表着该领域的重大突破&#xff0c;通过独特方式融合思考与非思考…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

Java 二维码

Java 二维码 **技术&#xff1a;**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...

Android第十三次面试总结(四大 组件基础)

Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成&#xff0c;用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机&#xff1a; ​onCreate()​​ ​调用时机​&#xff1a;Activity 首次创建时调用。​…...

基于Java+VUE+MariaDB实现(Web)仿小米商城

仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意&#xff1a;运行前…...

Modbus RTU与Modbus TCP详解指南

目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...