小弟是 python 开发员,最近在做一个 ocr 项目,使用的是 tesseract-ocr,使用的是 3.04 版本,目前遇到一个问题,想请一位大哥帮忙,具体是这样的,我在调用 tesseract 的 dll 时,总是会在控制台输出“Page 1”的红色信息,目前我不希望 python 控制台不输出该信息,只有去 tesseract 删除对应代码后重新编译,可我不会编译,想请一位大哥帮忙编译一下对应的 dll !若能解决,必有重谢!
1
joApioVVx4M4X6Rf Mar 1, 2021
你们用 tesseract-ocr 是识别什么语种的啊?其实有比这个更好的 python 替代方案,比如 paddleocr 和 easyocr,github 可以搜到
|
2
nnnToTnnn Mar 1, 2021
orc 我记得很多啊~ 用 tesseract-ocr 不一定是最好的
|
3
shm7 Mar 1, 2021
所以红色信息是啥?出错信息是啥。据我了解 tesseract 的编译要和本地的各种图像驱动相关的,可能有个 dll 不一定够。
|
4
laqow Mar 1, 2021 via Android
python 好像有个 pytesseract 还是什么 tesseract 的壳,印象感觉没有输出什么来着,看看那个壳怎么写的?
|
5
dayeye2006199 Mar 2, 2021
我假设你用的 pytesseract 这个套壳包,它就是启动了一个 subprocess,叫了一下系统内安装的 tesseract 。所以你可以找到这行代码: https://github.com/madmaze/pytesseract/blob/master/pytesseract/pytesseract.py#L255
改成: proc = subprocess.Popen(cmd_args, **subprocess_args(), stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) 这样 stdout 和 stderr 就被重定向了。 |
6
sadfQED2 Mar 2, 2021 via Android
如果你用的是 5 楼说得那个套壳包确实改改 py 代码就行
我印象中 python tesseract 还有另外一个包,是通过 cpython 实现的,那个包可能确实需要重新编译,建议别自己折腾,换 4.1 版本试试呢,3.04 已经很老了,说不定升级一次就解决了 |