V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cool1205
V2EX  ›  程序员

tesseract-ocr 编译 dll 求助!

  •  
  •   cool1205 · 2021-03-01 17:12:05 +08:00 · 1228 次点击
    这是一个创建于 1355 天前的主题,其中的信息可能已经有所发展或是发生改变。
    小弟是 python 开发员,最近在做一个 ocr 项目,使用的是 tesseract-ocr,使用的是 3.04 版本,目前遇到一个问题,想请一位大哥帮忙,具体是这样的,我在调用 tesseract 的 dll 时,总是会在控制台输出“Page 1”的红色信息,目前我不希望 python 控制台不输出该信息,只有去 tesseract 删除对应代码后重新编译,可我不会编译,想请一位大哥帮忙编译一下对应的 dll !若能解决,必有重谢!
    6 条回复    2021-03-02 12:39:00 +08:00
    joApioVVx4M4X6Rf
        1
    joApioVVx4M4X6Rf  
       2021-03-01 17:16:40 +08:00
    你们用 tesseract-ocr 是识别什么语种的啊?其实有比这个更好的 python 替代方案,比如 paddleocr 和 easyocr,github 可以搜到
    nnnToTnnn
        2
    nnnToTnnn  
       2021-03-01 17:20:39 +08:00
    orc 我记得很多啊~ 用 tesseract-ocr 不一定是最好的
    shm7
        3
    shm7  
       2021-03-01 17:24:50 +08:00
    所以红色信息是啥?出错信息是啥。据我了解 tesseract 的编译要和本地的各种图像驱动相关的,可能有个 dll 不一定够。
    laqow
        4
    laqow  
       2021-03-01 17:53:21 +08:00 via Android
    python 好像有个 pytesseract 还是什么 tesseract 的壳,印象感觉没有输出什么来着,看看那个壳怎么写的?
    dayeye2006199
        5
    dayeye2006199  
       2021-03-02 07:10:27 +08:00
    我假设你用的 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 就被重定向了。
    sadfQED2
        6
    sadfQED2  
       2021-03-02 12:39:00 +08:00 via Android
    如果你用的是 5 楼说得那个套壳包确实改改 py 代码就行

    我印象中 python tesseract 还有另外一个包,是通过 cpython 实现的,那个包可能确实需要重新编译,建议别自己折腾,换 4.1 版本试试呢,3.04 已经很老了,说不定升级一次就解决了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2850 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 05:55 · PVG 13:55 · LAX 21:55 · JFK 00:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.