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

如何使用MacPorts安装tesseract来进行简单的OCR识别

希望文章能给到你启发和灵感~
如果觉得文章对你有帮助的话,点赞 + 关注+ 收藏 支持一下博主吧~

阅读指南

  • 开篇说明
  • 一、基础环境说明
    • 1.1 硬件环境
    • 1.2 软件环境
  • 二、下载MacPorts
  • 三、如何使用macPorts安装Tesseract
  • 四、 配置并使用Tesseract
  • 五、最后的最后

开篇说明

本篇只针对mac系统的小伙伴,具体问题是在我想在本地部署安装tesseract,如果我们想使用tesseract的OCR识别的话,我们不单单要在python中引入pytesseract等第三方库,还需要在本地环境中配置tesseract,并且如果你还需要下载你所要识别的语言包才能完成解析;于是第一个想到的就是使用homebrew 安装了;但是遇到下面的问题;

在这里插入图片描述

【问题一】:一开始我使用homebrew进行下载的,即:brew install tesseract,首先提示很多依赖无法下载的问题,首先定位的是系统版本的问题,可我并不太想升级系统;

【问题二】:除去升级不说,我第二想着那先把他对应的依赖包下载看看,结果也是安装不成功;或许就是系统版本和homebrew的各种问题吧;

于是最后使用Macports再试试水;
在这里插入图片描述

一、基础环境说明

考虑环境因素,大家适当的对比自己的软硬件环境情况分析~请仔细阅读硬件、软件环境

1.1 硬件环境

MacOS Monterey 版本 12.7.8 Apple M1

1.2 软件环境

编译环境:Java 1.8.0_171, homebrew 4.3.23-53-g29c22e0

二、下载MacPorts

MacPorts 是一个开源的软件包管理系统,专为 macOS 设计,用于简化软件的安装、管理和更新。它提供了一个命令行工具 port,用户可以通过这个工具轻松地安装、卸载和管理各种软件包,后面会专门出一个关于MacPorts的使用方式;

下载地址:https://www.macports.org/install.php

这里根据我们电脑的系统版本来选择安装对应的包即可;
在这里插入图片描述
注:在进行本地安装时,最后会长时间卡在等待执行脚本那里,继续等就好,这块我这里会比较慢,不确定是不是都这样,大概有个20分钟左右

三、如何使用macPorts安装Tesseract

提示:使用 macports 安装 Tesseract OCR:

sudo port install tesseract
// 然后验证是否安装成功
输入 tesseract --version

在这里插入图片描述
输出类似上图的结果,就代表成功了;

Tesseract 需要语言数据包才能识别特定语言的文本。你可以安装多个语言数据包。例如,安装英语和藏文的语言数据包:

sudo port install tesseract-lang

语言包安装完后,我们可以通过下面命令来检查是否生成语言包:

ls /opt/local/share/tessdata/

通常语言包的路径都是在/opt/local/share/tessdata下,以*.traineddata作为文件名;有看到我们刚刚下载的对应的文件就是成功的;或者你可以输入也能直接查看语言包当前有哪些:

tesseract --list-langs

在这里插入图片描述
语言包可以根据自己实际中应用需要去下载对应的即可;可以在github找到;

https://github.com/tesseract-ocr/tessdata_best/
我这里因为觉得每次都去下载很慢并且麻烦,就干脆一次性下载全部了;也就1.3多GB吧=-=;我们只需要将语言包都放在上文中说的/opt/local/share/tessdata目录下即可;

四、 配置并使用Tesseract

为了让系统能找到Tesseract库和语言包,我们还需要在环境变量中进行配置:

这里输入编辑环境变量:

vi ~/.zshrc
// 添加,这个路径通常是这个,如果你有另外指定,就按照自己的指定的来
export TESSDATA_PREFIX=/opt/local/share/tessdata
// 保存文件后,执行让环境生效
source ~/.zshrc

在这里插入图片描述

OK, 接着我们就能在我们python代码中简单的进行一些识别文字的操作了;例如这里我是用的bod.traineddata的语言包来识别图片中的藏文;

language = 'bod'  # 藏文# 进行 OCR 识别
text = pytesseract.image_to_string(image, lang=language)# 输出识别结果
print(text)

在这里插入图片描述

五、最后的最后

这里我并没有试过升级系统,不确定是否是因为系统版本的问题导致我的homebrew无法安装OCR库,至少我的homebrew已经是最新的版本了;也有可能是其他环境共同作用的原因,有试过用homebrew安装成功的可以交流一下;


http://www.mrgr.cn/news/34890.html

相关文章:

  • C++中stack类和queue类
  • 【Canvas与诗词】铁马冰河入梦来
  • lambda表达式详解
  • AI赋能千人千面营销:从数据采集到精准用户画像的全流程解析
  • 亚马逊云科技的成功秘诀:韧性与持续创新的经验之道
  • .NET 一款新的内网对抗综合利用工具
  • 循环遍历把多维数组中的某个值改成需要的值
  • wpf如何进行数据绑定与动态数据操作?
  • 【电商搜索】现代工业级电商搜索技术-Ha3搜索引擎平台简介
  • 管理方法(11)-- 阿米巴经营
  • 深度学习之表示学习 - 贪心逐层无监督预训练篇
  • eBPF系列:开发流程
  • 数据科学的秘密武器:defaultdict——Python字典的自动化填充神器,让数据结构更灵活
  • python 实现word frequency functions词频函数算法
  • 卷积神经网络(CNN)图像处理与识别原理
  • 汽车HMI:UI设计进入了3D时代,设计师准备好了吗?
  • LabVIEW提高开发效率技巧----使用状态机架构
  • 低侧双向电流检测电路设计
  • GoJs 节点动态添加样式
  • AI驱动TDSQL-C Serverless 数据库技术实战营-Vanna配合ollama分析TDSQL-C Serverless 数据库