使用tesserocr.file_to_text(“path“)报错Failed to init API, possibly an invalid tessdata path: C:\\

在配置tessdata时出现很多问题,上网查阅了很多的博客,终于将问题解决了,现在整理如下:
在安装完tesserocr后运行如下代码:

import tesserocr
from PIL import Image
image = Image.open(r'C:\Users\AI\Desktop\image.PNG')
print(tesserocr.image_to_text(image))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "tesserocr.pyx", line 2446, in tesserocr._tesserocr.file_to_text
RuntimeError: Failed to init API, possibly an invalid tessdata path: C:\\
Failed to init API, possibly an invalid tessdata path: C:\\

初始化API失败,可能是在路径C:\下存在无效的tessdata,意思是在c:盘中找不到tessdata,所以我们需要在c盘的目录下添加tessdata文件夹就行了。(如果在pycharm的Python Conconsole中运行命令一定要重启一下控制台不然运行还是错误,建议在.py文件中写代码只需要重新run一下就行了)

方法1

如果你安装的Anaconda3安装路径在C盘中,则只需要将tessdata文件夹添加到C盘的目录下就行了。

这里写图片描述

代码运行成功:

import tesserocr
from PIL import Image
image = Image.open(r'C:\Users\AI\Desktop\image.PNG')
print(tesserocr.image_to_text(image))

D:\Anaconda3\python.exe C:/Users/AI/PycharmProjects/code/Practice1.py
Python3WebSpider
Process finished with exit code 0

方法二

如果你安装的Anaconda3安装路径在其他盘中(我安装在D盘中),则需要C盘的目录下建立一个与Anaconda3安装目录相同的空文件夹,即在C盘目录下新建Anaconda3文件夹,然后在Anaconda3文件夹中添加tessdata文件夹.

这里写图片描述

这里写图片描述

代码运行成功:

import tesserocr
from PIL import Image
image = Image.open(r'C:\Users\AI\Desktop\image.PNG')
print(tesserocr.image_to_text(image))

D:\Anaconda3\python.exe C:/Users/AI/PycharmProjects/code/Practice1.py
Python3WebSpider
Process finished with exit code 0

其他方法

  • 对于问题invalid tessdata path:C:\后面的盘符是一长串的时候,可以先尝试将tessdata文件夹移动到那个盘符下面,如果不能解决的话可以再尝试上述方法。

  • 添加“TESSDATA_PREFIX”到系统环境变量中,值为testdata的父路径(一般就是 Tesseract-OCR 的安装路径)亦可解决。

  • 在python3.6和Anaconda3安装目录下添加tessdata文件夹。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 18
    评论
程序运行提示QBasicTimer::stop: Failed. Possibly trying to stop from a different thread,修改程序class MyWindow(QWidget): def init(self): super().init() self.thread_list = [] self.color_photo_dir = os.path.join(os.getcwd(), "color_photos") self.depth_photo_dir = os.path.join(os.getcwd(), "depth_photos") self.image_thread = None self.saved_color_photos = 0 # 定义 saved_color_photos 属性 self.saved_depth_photos = 0 # 定义 saved_depth_photos 属性 self.init_ui() def init_ui(self): self.ui = uic.loadUi("C:/Users/wyt/Desktop/D405界面/intelrealsense1.ui") self.open_btn = self.ui.pushButton self.color_image_chose_btn = self.ui.pushButton_3 self.depth_image_chose_btn = self.ui.pushButton_4 self.open_btn.clicked.connect(self.open) self.color_image_chose_btn.clicked.connect(lambda: self.chose_dir(self.ui.lineEdit, "color")) self.depth_image_chose_btn.clicked.connect(lambda: self.chose_dir(self.ui.lineEdit_2, "depth")) def open(self): self.profile = self.pipeline.start(self.config) self.is_camera_opened = True self.label.setText('相机已打开') self.label.setStyleSheet('color:green') self.open_btn.setEnabled(False) self.close_btn.setEnabled(True) self.image_thread = ImageThread(self.pipeline, self.color_label, self.depth_label, self.interval, self.color_photo_dir, self.depth_photo_dir, self._dgl) self.image_thread.saved_color_photos_signal.connect(self.update_saved_color_photos_label) self.image_thread.saved_depth_photos_signal.connect(self.update_saved_depth_photos_label) self.image_thread.start() def chose_dir(self, line_edit, button_type): my_thread = MyThread(line_edit, button_type) my_thread.finished_signal.connect(self.update_line_edit) self.thread_list.append(my_thread) my_thread.start()
05-26

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值