一、遇到的问题:
linux命令安装,提示失败
pip install tesserocr
二、安装步骤:
先安装Tesseract OCR
-
更新软件源:
sudo apt-get update
-
安装Tesseract OCR:
sudo apt-get install tesseract-ocr
-
安装语言包(如果需要识别特定语言的文本,需要安装相应的语言包):
sudo apt-get install tesseract-ocr-[language]
其中
[language]
是你需要安装的语言代码,例如英语是eng
,中文是chi_sim
。 -
验证安装是否成功:
tesseract --version
如果一切正常,你将看到Tesseract的版本信息。
-
使用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,
按照以下步骤操作:
-
编辑环境变量配置文件 : 打开终端,并根据你的Linux发行版,选择编辑
/etc/environment
或/etc/profile
,或者为当前用户编辑~/.bashrc
或~/.profile
文件。这里以~/.bashrc
为例:nano ~/.bashrc
-
添加
TESSDATA_PREFIX
变量 : 在打开的.bashrc
文件末尾添加以下行:export TESSDATA_PREFIX="/usr/share/tesseract-ocr/4.00/tessdata"
确保路径
/usr/share/tesseract-ocr/4.00/tessdata
是正确的,并且是你的Tesseract OCR语言数据文件所在的目录。 -
保存并关闭文件 : 如果你使用的是
nano
编辑器,可以按Ctrl + X
退出,然后按Y
确认保存更改,最后按Enter
键保存文件。 -
重新加载环境变量 : 为了让更改立即生效,你需要重新加载
.bashrc
文件:source ~/.bashrc
-
验证环境变量是否设置正确 : 你可以通过在终端运行以下命令来检查
TESSDATA_PREFIX
环境变量是否设置正确:echo $TESSDATA_PREFIX
这应该会输出你设置的路径:
/usr/share/tesseract-ocr/4.00/tessdata
。
再运行程序,便正常了。