自学内容网 自学内容网

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

再运行程序,便正常了。


原文地址:https://blog.csdn.net/xun527/article/details/142936759

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!