Mac环境编译安装tesseract-4.1.1

news/2024/5/20 6:03:05/文章来源:https://blog.csdn.net/jackymvc/article/details/105499239

Mojave 编译安装 tesseract-4.1.1

前言

顺便学习下Python,尝试使用Python3安装tesseract进行文字识别,结果踩了好深一个坑,特此记念……

好多坑,好多坑……

参考彭世瑜的这一篇:https://blog.csdn.net/mouday/article/details/104398303

1、安装好多依赖

# Packages which are always needed.
brew install automake autoconf libtool
brew install pkgconfig
brew install icu4c
brew install leptonica# 如果你需要用到训练工具,要安装 pango.
brew install pango# Optional packages for extra features
brew install libarchive# Optional package for builds using g++.
brew install gcc

2、下载并解压 tesseract-4.1.1.tar.gz

下载地址为:https://github.com/tesseract-ocr/tesseract/releases

在这里插入图片描述

3、进入安装阶段

我的直接解压到 /Users/Jacky/tesseract-4.1.1

cd tesseract-4.1.1
./autogen.sh
mkdir build
cd build# 以下为执行我的配置,请各位按照自己的版本号进行设置./configure cairo_LIBS=-L/usr/local/Cellar/cairo/1.16.0_3/lib cairo_CFLAGS=-I/usr/local/Cellar/cairo/1.16.0_3/include pango_LIBS=-L/usr/local/Cellar/pango/1.44.7/lib pango_CFLAGS=-I/usr/local/Cellar/pango/1.44.7/include/pango-1.0 icu4c_LIBS=-L/usr/local/Cellar/icu4c/64.2/lib icu4c_CFLAGS=-I/usr/local/Cellar/icu4c/64.2/include  CC=gcc-9 CXX=g++-9 CPPFLAGS='-I/usr/local/opt/icu4c/include -I/usr/local/Cellar/glib/2.64.1_1/include/glib-2.0 -I/usr/local/Cellar/glib/2.64.1_1/lib/glib-2.0/include -I/usr/local/Cellar/cairo/1.16.0_3/include/cairo -I/usr/local/Cellar/freetype/2.10.1/include/freetype2 -I/usr/local/Cellar/fontconfig/2.13.1/include' LDFLAGS='-L/usr/local/opt/icu4c/lib -L/usr/local/Cellar/giflib/5.2.1/lib -L/usr/local/Cellar/pango/1.44.7/lib -L/usr/local/Cellar/glib/2.64.1_1/lib -L/usr/local/Cellar/cairo/1.16.0_3/lib -L/usr/local/Cellar/fontconfig/2.13.1/lib' --prefix=/Users/Jacky/tesseract.4.1.1make -j# Optionally install Tesseract.
sudo make install# Optionally build and install training tools.
make trainingsudo make training-install

比如:/usr/local/Cellar/cairo/我的版本号为1.16.0_3
在这里插入图片描述还有一个需要注意的是gcc的版本号,这里我的为9

在这里插入图片描述

执行configure过程遇到的问题

configure: WARNING: pango 1.22.0 or higher is required, but was not found.
configure: WARNING: Training tools WILL NOT be built.
configure: WARNING: Try to install libpango1.0-dev package.
checking for cairo... no
configure: WARNING: Training tools WILL NOT be built because of missing cairo library.
configure: WARNING: Try to install libcairo-dev?? package.
checking that generated files are newer than configure... done

我的pango的版本已经是1.44.7,总是提示我pango 1.22.0 or higher is required
请按照上面的./configure 里的设置更改为自己的版本号

libcairo-dev也是需要在./configure里直接指定

cairo_LIBS=-L/usr/local/Cellar/cairo/1.16.0_3/lib
cairo_CFLAGS=-I/usr/local/Cellar/cairo/1.16.0_3/include
pango_LIBS=-L/usr/local/Cellar/pango/1.44.7/lib
pango_CFLAGS=-I/usr/local/Cellar/pango/1.44.7/include/pango-1.0 

接着你会遇到icu的问题……

然后各种搜索,mac没有icu,只有icu4c,可是我已经装了icu4c的
在这里插入图片描述漫长的搜索过程……

然后又安装了PyICU,又在bash_profile文件中加了一些路径

# 没搞懂为什么要装这个 pyicu
pip3 install pyicuopen ~/.bash_profile# 增加了如下的路径
export PATH="/usr/local/opt/icu4c/bin:$PATH"
export PATH="/usr/local/opt/icu4c/sbin:$PATH"
export ICU_VERSION=64
export PYICU_INCLUDES=/usr/local/Cellar/icu4c/64.2/include
export PYICU_LFLAGS=-L/usr/local/Cellar/icu4c/64.2/lib
export PYICU_CFLAGS=-std=c++11
export PKG_CONFIG_PATH="/usr/local/opt/icu4c/lib/pkgconfig"source ~/.bash_profile

总算是 .configure 通过了(注意,以上几个步骤我也不知道是哪个起作用了
在这里插入图片描述

你以为就可以make training了吗?

于是,我遇到了这个问题

在这里插入图片描述然后又经过无脑的搜索……

然后在这一篇上,百度快照上

发现

好吧,我懒……再次打开这个草稿时,已经是1年后了,所以上面的部分供参考了

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BEVFormer-accelerate:基于 EasyCV 加速 BEVFormer

导言 BEVFormer是一种纯视觉的自动驾驶感知算法,通过融合环视相机图像的空间和时序特征显式的生成具有强表征能力的BEV特征,并应用于下游3D检测、分割等任务,取得了SOTA的结果。我们在EasyCV开源框架(https://github.com/alibaba…

KEIL5软件仿真支持的器件

问题的提出 用KEIL进行软件仿真,想观察一下处理器STM32F091RCY的I2C和DAC引脚输出的波形,发现无法向波形中添加信号,如下图所示 当在命令行中输入 dir vtreg 指令时,仅仅能够显示内核的寄存器,外设的寄存器无法输出&a…

大咖说|云端即时渲染:下一代互联网的算力基座?

阿里云【大咖说】子系列【计算讲谈社】第十五讲播出! 下一代互联网是什么?其算力基座又是什么? 14:00-15:30 全网播出:【计算讲谈社】第十五讲,蔚领时代创始人兼CEO郭建君、蔚领时代数字人事业部总经理费元华、蔚领时…

前端基础(十一)_Float浮动、清除浮动的几种方法

浮动 1、什么是浮动? 目的:为了让多个块级元素在同一行显示; 文档流:可显示的对象在排列时所占的位置; 浮动:使元素脱离正常的文档流,按照指定的顺序,方向发生移动,直到…

让人恶心的多线程代码,性能怎么优化!

Java 中最烦人的,就是多线程,一不小心,代码写的比单线程还慢,这就让人非常尴尬。 通常情况下,我们会使用 ThreadLocal 实现线程封闭,比如避免 SimpleDateFormat 在并发环境下所引起的一些不一致情况。其实…

深度学习目标检测:YOLOv5实现红绿灯检测(含红绿灯数据集+训练代码)

深度学习目标检测:YOLOv5实现红绿灯检测(含红绿灯数据集训练代码) 1. 前言 本篇博客,我们将手把手教你搭建一个基于YOLOv5的红绿灯目标检测项目。目前,基于YOLOv5s的红绿灯检测精度平均值mAP_0.50.93919,mAP_0.5:0.950.63967&…

【数据结构-JAVA】ArrayList

目录 1. 线性表 2. 顺序表(ArrayList) 2.1 什么是顺序表? 2.2 顺序表的使用 2.2.1 ArrayList 的构造方法 2.2.2 ArrayList 的常规操作 2.2.3 ArrayList 的遍历 2.3 顺序表的优缺点 3. 练习题 3.1 练习1 一道面试题 3.2 练习2 杨辉三角形 3.3 练习3 洗牌算法 3.4 …

PreSTU:一个专门为场景文本理解而设计的简单预训练模型

摘要:在视觉与语言(V&L)模型中,阅读和推理图像中的文本的能力往往是缺乏的。我们如何才能学习出强大的场景文本理解(STU)的V&L模型呢?本文分享自华为云社区《场景文本理解预训练PreSTU》…

如何进行系统设计

文章目录1. 理解需求1.1 功能性需求1.2 非功能性需求2. 系统设计3. Api设计4. 数据模型设计5. 高可用、高性能、可监控等数据密集型应用设计凤凰架构 重点:自己整理的非权威,不具代表性,自己去取舍哈。 1. 理解需求 1.1 功能性需求 解决什么…

深度学习 Day22——利用LSTM实现火灾温度预测

深度学习 Day22——利用LSTM实现火灾温度预测 文章目录深度学习 Day22——利用LSTM实现火灾温度预测一、前言二、我的环境三、LSTM介绍1、长期依赖的问题2、LSTM3、LSTM结构四、前期工作1、设置GPU2、导入数据3、数据可视化五、构建数据集1、设置X、y2、设置归一化3、划分数据集…

宽凳科技完成超亿元B1轮融资 率先突破高精地图量产落地

近日,国内领先的高精地图及其智能应用综合解决方案服务商宽凳科技宣布完成B1轮超亿元融资。本轮融资由聚焦于新能源汽车产业链投资及新兴技术产业投资的紫峰资本与信益资本联合领投,崇业投资跟投,同时本轮资本引入了德清政府战略投资&#xf…

Vue3 —— 使用Vite配置环境变量

文章目录 一、为什么要配置环境变量?二、在Vite中配置环境变量 1.环境变量和模式2.环境变量3.生产环境替换4.env 文件总结一、为什么要配置环境变量? 在一个产品的前端开发过程中,一般来说会经历本地开发、测试脚本、开发自测、测试环境、预上线环境,然…

如何计算香港服务器公网带宽的实际下载速度?

如何计算香港服务器公网带宽的实际下载速度?下面分享香港服务器带宽实际下载速度对照表及计算方法: 香港服务器带宽实际下载速度计算方法 香港服务器以1Mbps公网带宽为例,香港服务器1M带宽实际下载速度峰值128KB/S,为什么不是1M/S&#xff0…

educoder:实验13 算法-穷举法和二分法

第1关:百钱百鸡 任务描述 我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何? 相关知识 为了完成本关任务&#xff…

《纳瓦尔宝典》笔记三——做自己真正感兴趣的事情

你合上书本,留在你脑子里的才真正是你的智慧 目录 一、开始让你兴致盎然,后来又让你觉得索然无味了吗 二、在“成为自己”这件事“上,没有人比你做得好 三、专长无法被教授,但可以被学习 四、上学能带来什么 五、尽量做不需…

OM6621系列国产M4F内核低功耗BLE5.1大内存SoC蓝牙芯片

目录OM6621系列简介OM6621P系列芯片特性应用领域OM6621系列简介 随着5G与物联网时代的到来,智慧城市、电动出行、智能家居、可穿戴设备等应用高速发展,低功耗蓝牙技术在近几年智能化浪潮中的地位也尤为重要。OM6621系列的开发即是为解决国内低功耗蓝牙应…

[整型/浮点型二分算法详解]二分查找算法真的很简单吗

🏖️作者:malloc不出对象 ⛺专栏:《初识C语言》 👦个人简介:一名双非本科院校大二在读的科班编程菜鸟,努力编程只为赶上各位大佬的步伐🙈🙈 目录前言一、二分查找是什么二、二分查找…

Linux操作系统的安全合规性检查和加固

1. 账号和口令 1.1 禁用或删除无用账号 减少系统无用账号,降低安全风险。 操作步骤 使用命令 userdel 删除不必要的账号。 使用命令 passwd -l 锁定不必要的账号。 使用命令 passwd -u 解锁必要的账号。 1.2 检查特殊账号 检查是否存在空口令和root权限的账号…

DSPE-PEG-N3,磷脂-聚乙二醇-叠氮 点击化学PEG试剂,可用于药物传递、基因转染和生物分子修饰

中文名称 叠氮聚乙二醇磷脂、磷脂聚乙二醇叠氮 简称 N3-PEG-DSPE、DSPE-PEG-N3 物理性质:米白色/白色固体或粘性液体取决于分子量。 溶剂: 溶于大部分有机溶剂,和水有很好的溶解性。 活性基团: N3 反应基…

C++ Reference: Standard C++ Library reference: Containers: map: map: find

C官网参考链接&#xff1a;https://cplusplus.com/reference/map/map/find/ 公有成员函数 <map> std::map::find iterator find (const key_type& k); const_iterator find (const key_type& k) const;获取指向元素的iterator 在容器中搜索键值等于k的元素&…