Linux中安装tesserocr遇到的那些坑

一、遇到的问题:

linux命令安装,提示失败

复制代码
pip install tesserocr

二、安装步骤:

先安装Tesseract OCR

  1. 更新软件源:

    复制代码
    sudo apt-get update
  2. 安装Tesseract OCR:

    复制代码
    sudo apt-get install tesseract-ocr
  3. 安装语言包(如果需要识别特定语言的文本,需要安装相应的语言包):

    复制代码
    sudo apt-get install tesseract-ocr-[language]

    其中 [language] 是你需要安装的语言代码,例如英语是 eng,中文是 chi_sim。

  4. 验证安装是否成功:

    复制代码
    tesseract --version

    如果一切正常,你将看到Tesseract的版本信息。

  5. 使用Tesseract : 例如,要将 image.jpg 的文本识别并保存到 output.txt 文件中,可以执行以下命令:

    复制代码
    tesseract image.jpg output.txt

再安装tesserocr

复制代码
pip install tesserocr

四、运行程序:

复制代码
    import tesserocr
	from PIL import Image
	
	
	def preprocess_image(image_path):
	    image = Image.open(image_path)
	    # 转换为灰度图像
	    image = image.convert('L')
	    # 二值化处理
	    threshold = 127
	    table = []
	    for i in range(256):
	        if i < threshold:
	            table.append(0)
	        else:
	            table.append(1)
	    image = image.point(table, '1')
	    return image
	
	
	def recognize_captcha(image):
	    text = tesserocr.image_to_text(image)
	
	    return text
	
	
	if __name__ == '__main__':
	    imgs = ["/root/zhzhx/1.jpg"]
	    for i in range(len(imgs)):
	        # 预处理验证码图片
	        preprocessed_image = preprocess_image(imgs[i])
	        # 识别验证码
	        captcha_text = recognize_captcha(preprocessed_image)
	        print(captcha_text)

报错:

复制代码
File "tesserocr.pyx", line 2401, in tesserocr._tesserocr.image_to_text

分析原因:TESSDATA_PREFIX环境变量未设置

五、TESSDATA_PREFIX环境变量设置步骤:

将TESSDATA_PREFIX环境变量添加到系统环境变量中,设置其值为/usr/share/tesseract-ocr/4.00/tessdata,按照以下步骤操作:

  1. 编辑环境变量配置文件 : 打开终端,并根据你的Linux发行版,选择编辑/etc/environment或/etc/profile,或者为当前用户编辑~/.bashrc或~/.profile文件。这里以~/.bashrc为例:

    复制代码
    nano ~/.bashrc
  2. 添加TESSDATA_PREFIX变量 : 在打开的.bashrc文件末尾添加以下行:

    复制代码
    export TESSDATA_PREFIX="/usr/share/tesseract-ocr/4.00/tessdata"

    确保路径/usr/share/tesseract-ocr/4.00/tessdata是正确的,并且是你的Tesseract OCR语言数据文件所在的目录。

  3. 保存并关闭文件 : 如果你使用的是nano编辑器,可以按Ctrl + X退出,然后按Y确认保存更改,最后按Enter键保存文件。

  4. 重新加载环境变量 : 为了让更改立即生效,你需要重新加载.bashrc文件:

    复制代码
    source ~/.bashrc
  5. 验证环境变量是否设置正确 : 你可以通过在终端运行以下命令来检查TESSDATA_PREFIX环境变量是否设置正确:

    复制代码
    echo $TESSDATA_PREFIX

    这应该会输出你设置的路径:/usr/share/tesseract-ocr/4.00/tessdata。

再运行程序,便正常了。

相关推荐
lzx_0028 小时前
Linux 进程(三) 从进程状态到僵尸进程、孤儿进程
linux·服务器
FlightYe9 小时前
音视频修炼之容器与协议(四):RTSP详解
android·linux·ffmpeg·音视频·dash
刘马想放假10 小时前
CANviz 使用指南|Linux 安装、DBC 解码、实时曲线与 J1939 实战
linux·python·websocket
kloc11 小时前
聊天室项目入口网关子服务的实现
linux·c++
GeW11 小时前
深圳APEC峰会倒计时:数据库与Linux运维的"隐形考场"
linux
梦到啥说啥13 小时前
Linux网络编程:UDP网络协议
linux·网络协议·udp
无足鸟ICT14 小时前
【RHCA+】ipcrm命令(删除IPC资源)
linux
星恒随风15 小时前
MySQL 从零入门(四):表的增删改查与基础查询详解
linux·服务器·数据库·笔记·mysql
陈希12318 小时前
Linux 网络诊断工具实战:ping、curl、tcpdump、mtr、dig 用法详解
linux·网络·tcpdump
进击的荆棘18 小时前
Linux系统——线程同步与互斥之线程池和安全
linux·运维·服务器·安全·单例模式·线程