如何使用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.xdnf.cn/news/149768.html

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

相关文章

excel 时间戳与日期转换

使用 函数: TEXT((C1/100028800)/8640025569,"yyyy/mm/dd HH:MM:ss.000") 因为咱们的时间戳是从 1970-1-1 08:00:00 开始计算的,所以需要对咱们的列处理: 28800 是代表 1970年1月1号的8点, 8个小时是28800秒&#xff…

python爬虫:从12306网站获取火车站信息

代码逻辑 初始化 (init 方法): 设置请求头信息。设置车站版本号。 同步车站信息 (synchronization 方法): 发送GET请求获取车站信息。返回服务器响应的文本。 提取信息 (extract 方法): 从服务器响应中提取车站信息字符串。去掉字符串末尾的…

OpenCV图像分割(1)图像分割函数grabCut()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 运行 GrabCut 算法。 该函数实现了 GrabCut 图像分割算法 OpenCV 中的 grabCut() 函数是一种用于图像分割的技术,它可以帮助用户从图…

stable diffusion这个插件牛,高清【图片换脸】,高清【视频换脸】 一键完成!

前言 最近发现一个很不错的sdwebui的插件,不仅能完成图片换脸,还能进行视频换脸,而且效果比之前的 faceid和reactor要好很多,更像更高清,哈哈,废话不多说,直接上干货~插件是 easyPhoto&#xff…

今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 9月24日,星期二

每天一分钟,知晓天下事! 2024年9月24日 星期二 农历八月廿二 1、 外卖新规征求意见:规范外卖满减、起送费等机制,剑指餐饮浪费。 2、 发改委:预计全年将实现200万辆低排放标准乘用车退出。 3、 商务部:中…

高通平台Android源码下载

1)、打开:Android releases | CodeLinaro Wiki,选择相应的硬件版本Android系统 2)、repo 源码 repo init --depth1 -u https://git.codelinaro.org/clo/la/platform/manifest.git -b release -m LA.UM.8.6.2.c31-03300-89xx.0.xm…

智算中心动环监控:构建高效、安全的数字基础设施@卓振思众

在当今快速发展的数字经济时代,智算中心作为人工智能和大数据技术的核心支撑设施,正日益成为各行业实现智能化转型的重要基石。为了确保这些高性能计算环境的安全与稳定,卓振思众动环监控应运而生,成为智算中心管理的重要组成部分…

论文复现| Free-Form Image Inpainting with Gated Convolution

论文地址具有上下文注意的生成图像修复 论文代码:GitHub 01配置环境 根据原文代码中read me中要求,进行环境配置以及包的安装。 Run 安装python3。 安装tensorflow(在1.3.0,1.4.0,1.5.0,1.6.0,1.7.0版本上进行了测试)。 安装tensorflow工具包neuralgym(运行pi…

【零基础入门AI:83%的文本推荐系统都在用的算法 TF-IDF】

什么是推荐系统? 在如今这个信息爆炸的时代,推荐系统是根据用户的信息或者行为,向用户推荐用户可能会感兴趣的内容。其中基于文本的推荐系统,比如搜索引擎,头条、微信这类资讯类应用的搜索功能,就是在一个…

图表示学习中的Transformer:Graphormer的突破

人工智能咨询培训老师叶梓 转载标明出处 在自然语言处理和计算机视觉等领域,Transformer架构已经成为主导选择。然而,在图级别的预测任务中,它的表现并不如主流的图神经网络(GNN)变体。这一现象引发了一个思考&#x…

轻松重置 MySQL 8.0 Root 密码的简便方法!

在Windows环境下安装MySQL数据后,如果忘记了 MySQL 8.0 的 root 密码,不必担心!通过 --skip-grant-tables 和 named-pipe 模式登录后,只需几步简单的 SQL 命令即可重置密码:刷新权限表、修改密码、再刷新权限&#xff…

SpringBoot | Maven快速上手

文章目录 一、Maven1.1 Maven 简介:1.2 Maven 的核心功能:1.2.1 项目构建:1.2.2 依赖管理: 1.3 Maven 仓库:1.3.1 本地仓库:1.3.2 中央仓库:1.3.3 私服: 二、第一个 SpringBoot 程序…

数据处理与统计分析篇-day09-数据透视表与日期时间处理

一. 数据透视表 概述 数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等。 所进行的计算与数据跟数据透视表中的排列有关。之所以称为数据透视表,是因为可以动态地改变它们的版面布置&#…

智慧水利采砂船在线监控平台:构建高效、智能的河道采砂监管体系

随着科技的不断发展,水利行业的智慧化转型也日益受到重视。智慧水利采砂船在线监控平台便是这一转型的重要成果之一。该平台主要服务于水政执法人员,针对取得河道采砂许可证的采砂公司及采砂船,实施在线自动监控,旨在提高监管效率…

OSError: [Errno 16] Device or resource busy: ‘.nfs*‘报错解决办法

目录 1 项目场景&问题描述:2 原因分析:2.1 问题背景: 3 解决方案:3.1 创建存放临时文件的目录3.2 使用该目录3.2.1 设置环境变量 TMPDIR3.2.2 运行时设置(推荐)3.2.3 代码中设置 4 总结 1 项目场景&…

瑞芯微RK3566鸿蒙开发板Android11修改第三方输入法为默认输入法

本文适用于触觉智能所有支持Android11系统的开发板修改第三方输入法为默认输入法。本次使用的是触觉智能的Purple Pi OH鸿蒙开源主板,搭载了瑞芯微RK3566芯片,类树莓派设计,是Laval官方社区主荐的一款鸿蒙开发主板。 一、安装输入法并查看输入…

CSS05-Emment语法

Emmet语法的前身是Zen coding,它使用缩写,来提高html/css的编写速度,Vscode内部已经集成该语法。 作用: 1.快速生成HTML结构语法 2.快速生成CSS样式语法

linux 安装 tomcat9、java环境

一、安装 Java环境 1. 下载文件 https://repo.huaweicloud.com/java/jdk/ 或者网盘:通过网盘分享的文件:jdk-8u192-linux-x64.tar.gz 链接: https://pan.baidu.com/s/1V3pQWzgSLJxdrUdmmKueRA 提取码: qspw 2. 查看Linux系统是否有自带的jdk&#xf…

【TabBar嵌套Navigation案例-产品推荐-CollectionView的layout设置 Objective-C语言】

一、我们接着来做这个产品推荐页面啊 1.我们之前,把这个产品推荐页面做出来了,就是长的丑了点儿,所以呢,我们需要去给它设置一下itemSize啦,等等一些东西, 好,首先呢,在这个里边,我们找到我们的layout这块儿, 然后呢,这个layout里边,我们一个一个来设置, 首先呢…

Excel DATE函数怎么用,DATE函数的使用方法来了

大家好,这里是效率办公指南! 📅 在处理Excel中的日期数据时,我们经常需要创建特定的日期或从多个单元格中合并日期。DATE 函数是Excel中一个非常实用的工具,它可以帮助我们从年、月、日的单独信息中创建一个正确的日期…