求推荐 Python 好用的 ocr - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
shiyuu
V2EX    Python

求推荐 Python 好用的 ocr

  •  
  •   shiyuu 2024-06-09 16:54:48 +08:00 3916 次点击
    这是一个创建于 558 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我每天都会用 python 脚本下载 cacti 的流量图进行保存 现在有额外的需求,就是要把所有的流量值都用文字记录起来。 试过 EasyOCR 、PaddleOCR 、百度的 baidu-aip 效果都不太理想 用同样的 ocr 同时试过连续识别 10 张,不是缺少数值,就是想要的关键字和值不在同一个元组里。 也就是 ORC 的结果比较乱,不在一个元组还能处理判断一下,但是缺少数值是最致命的

    24 条回复    2024-06-11 14:03:25 +08:00
    NoOneNoBody
        1
    NoOneNoBody  
       2024-06-09 16:59:59 +08:00
    纯英文的不要用混合或者中文识别,直接用英文模组效果更好
    paopjian
        2
    paopjian  
       2024-06-09 17:23:52 +08:00
    是不是你图太大了,直接裁切目标区域试试
    noahlias
        3
    noahlias  
       2024-06-09 18:07:18 +08:00
    liewstar
        4
    liewstar  
       2024-06-09 18:35:50 +08:00 via iPhone
    我用 CnOcr 帮你试了一下,就这张图来说,没有丢数值,识别出来的数值也是有规律的
    f165af34d4830eeb
        5
    f165af34d4830eeb  
       2024-06-09 18:42:47 +08:00 via iPhone
    换个思路,python 调用 openai 的 api (
    shiyuu
        6
    shiyuu  
    OP
       2024-06-09 20:00:08 +08:00
    重新用 easyocr 只导入英文获取了一遍,主要是 433 坐标左右的值我最重要的,6 月 7 日那天就都不出来。
    requests 下载到图片的大小分辨率都是统一的


    shiyuu
        7
    shiyuu  
    OP
       2024-06-09 20:01:51 +08:00
    @liewstar 我试试 CnOcr 这个看看
    Hconk
        8
    Hconk  
       2024-06-09 20:42:28 +08:00 via iPhone
    像这种固定位置的图裁切一下再识别就不需要考虑结构化的问题了,识别效果应该也有提升
    whileFalse
        9
    whileFalse  
       2024-06-09 20:54:07 +08:00
    不能直接获取 cacti 的请求吗
    Sawyerhou
        10
    Sawyerhou  
       2024-06-09 20:59:19 +08:00
    楼上说的有道理,只用英文,加裁剪,理论上这个图片识别难度不高。
    anubu
        11
    anubu  
       2024-06-09 22:07:38 +08:00
    感觉有点像前两天在站里看到的 XY 问题,cacti 把数据画成图片,python 脚本从图片里读取数据,这种基于图片的数据传递方式似乎有点抽象。当然也有可能是有具体的业务场景需要,或者可以尝试抛一个更深的问题出来看看。
    shiyuu
        12
    shiyuu  
    OP
       2024-06-09 22:40:00 +08:00
    @whileFalse 普通账号,只能看图,而且我试了没法下载图上的 csv ,需求就类似下面链接里的这样,只能通过 orc 来识别了
    https://www.cnblogs.com/choujin/p/11794163.html
    shiyuu
        13
    shiyuu  
    OP
       2024-06-09 22:48:39 +08:00
    @anubu https://www.cnblogs.com/choujin/p/11794163.html
    其实就像链接里的这样,但是是普通账号只能看图,也没法下载 csv 表格,我就只能通过普通账户的 cookies ,用 response 专门下载那一张图进行保存
    shiyuu
        14
    shiyuu  
    OP
       2024-06-09 23:27:13 +08:00
    我都已经把彩色转换成灰度图像了,但是图上 MAX 最大值的 7.34T 却没有识别出来,其他的倒是都识别了
    m6R1SW7tCHvO3mHL
        15
    m6R1SW7tCHvO3mHL  
       2024-06-10 00:26:01 +08:00
    试试 paddleOCR ?
    kenvix
        16
    kenvix  
       2024-06-10 00:31:56 +08:00
    这种专用任务可以考虑自己训练一个基于 YOLO 的专用识别模型。脚本都是现成的,很容易就搭起来了
    m6R1SW7tCHvO3mHL
        17
    m6R1SW7tCHvO3mHL  
       2024-06-10 00:41:21 +08:00
    @ZekeChin 抱歉原文没看清,可以试试 MiniCPM-Llama3-V ,如果有 GPU 的话 q4 llama.cpp 部署 效率应该也不会太差。帮忙试了 OP 关注的值
    m6R1SW7tCHvO3mHL
        18
    m6R1SW7tCHvO3mHL  
       2024-06-10 00:42:26 +08:00
    @kenvix YOLO 是做目标检测的吧?现在都可以做文本识别了吗,进化这么快
    lairdnote
        19
    lairdnote  
       2024-06-10 09:29:33 +08:00
    这个是环形数据库 为什么不直接读数据库 要用 ocr 去识别呢
    shiyuu
        20
    shiyuu  
    OP
       2024-06-10 10:49:05 +08:00
    我现在只能用最笨的办法,把图片裁剪到只剩下一个我需要的值,再进行 ocr ,目前已经 100%识别了。


    kenvix
        21
    kenvix  
       2024-06-10 12:54:20 +08:00
    @ZekeChin #18 实际上你把文本也当作目标就行了。我在 19 年做过这样的事情。用 YOLO 的目的只是因为 YOLO 封装的好,基本不用写多少代码
    coolfan
        22
    coolfan  
       2024-06-11 00:50:17 +08:00
    @shiyuu #20 我赞同
    HasanSabbah
        23
    HasanSabbah  
       2024-06-11 10:05:04 +08:00
    paddle 都不稳定的话,那就 gpt4o 吧
    EndlessMemory
        24
    EndlessMemory  
       2024-06-11 14:03:25 +08:00
    你这个肯定要裁剪后识别啊,如果识别效果还是不理想就考虑二值化
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1408 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 16:52 PVG 00:52 LAX 08:52 JFK 11:52
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86