V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
bybyte
V2EX  ›  分享创造

把微信的 OCR 功能提取出来做 Docker 服务

  •  4
     
  •   bybyte ·
    golangboy · 7 天前 · 24158 次点击

    众所周知,微信的 OCR 识别又快又准,于是就想提出来代替某某桨的识别

    https://github.com/golangboy/wxocr

    docker 拉取下来 直接 post 请求即可

    docker pull golangboyme/wxocr
    
    curl -X POST http://localhost:5000/ocr \
      -H "Content-Type: application/json" \
      -d '{"image": "BASE64_ENCODED_IMAGE_DATA"}'
    
    233 条回复    2025-04-01 16:10:14 +08:00
    1  2  3  
    qq135449773
        101
    qq135449773  
       7 天前
    这也算是对微信团队的一份认可了。

    有没有腾讯的同学看到帖子考虑一下开源哈哈。。
    eluotao
        102
    eluotao  
       7 天前
    m4 mac mini 是不是不支持:OCR not supported
    zy5a59
        103
    zy5a59  
       7 天前
    楼主牛啤!
    mengdodo
        104
    mengdodo  
       7 天前
    牛皮,项目先 fork 一波
    ZeroDu
        105
    ZeroDu  
       7 天前
    data:image/png;base64, 报错的删除这部分前缀。 @ko20 #96
    ko20
        106
    ko20  
       7 天前
    @ZeroDu 谢谢,原来如此
    hankli
        107
    hankli  
       7 天前
    流弊!!!
    ala2008
        108
    ala2008  
       7 天前
    所以原理是逆向拿到 wx 的 ocr 模型?感觉风险很大啊
    ly1836
        109
    ly1836  
       7 天前


    为啥 docker 服务起不来,本地虚拟机起的 docker 服务
    机器信息:
    kepenj
        110
    kepenj  
       7 天前
    老哥真猛,给你点个 star ,小心南山必胜客的律师函警告。
    xiaotiantian007
        111
    xiaotiantian007  
       7 天前   ❤️ 1
    @ko20 把 base64 后 字符串 前面一段删除就可以了 这一段"data:....base64,"
    eluotao
        112
    eluotao  
       7 天前
    @ly1836 linux or mac 好像不支持,换 debian 就行
    bbbb
        113
    bbbb  
       7 天前
    Windows Ubuntu 子系统,识别为空,使用其他的 OCR 能识别,是虚拟机不行吗?
    ly1836
        114
    ly1836  
       7 天前
    @eluotao #112 好的
    wukaige
        115
    wukaige  
       7 天前
    好东西,star 一下
    mb4555
        116
    mb4555  
       7 天前
    mac 用不了
    bybyte
        117
    bybyte  
    OP
       7 天前   ❤️ 1
    @kepenj 帖子已经下沉了,有南山的人联系下我我立马删了
    Rinndy
        118
    Rinndy  
       7 天前 via iPhone
    @bybyte 动作挺快的😁
    nextvay
        119
    nextvay  
       7 天前
    @bybyte #11 非常棒,解决了剪切板的图片识别问题 感谢~

    1. mac 上剪切板图片 保存为 base64
    2. alfred 写个脚本,直接调接口,完成输出->剪切板
    nextvay
        121
    nextvay  
       7 天前
    @mb4555 我的 inter 芯片的,起个 docker 就可以啊,难道 M 芯片不能用
    zhaoxj58
        122
    zhaoxj58  
       7 天前
    项目中没看到源码,所以老哥是把 wx ocr 的 model 和 so 搞下来了吗
    twogoods
        123
    twogoods  
       7 天前
    同好奇咋搞的
    simo
        124
    simo  
       7 天前
    Alias4ck
        125
    Alias4ck  
       7 天前
    有点抽象 这个 有的图片无法识别 不太明白边界为啥
    但是小图片 就是宽度和高度 很小的情况下 是稳定识别的
    超过了有的不能识别☹️
    Pepsigold
        126
    Pepsigold  
       7 天前
    只有文字识别码?
    deacyn
        127
    deacyn  
       7 天前
    一刷新就没了,幸好复刻了。
    bao3
        128
    bao3  
       6 天前
    项目已死……佩服那些 fork 的
    ylx
        129
    ylx  
       6 天前
    再弄小点就好了
    balaWgc
        130
    balaWgc  
       6 天前
    没了呀
    seedhk
        131
    seedhk  
       6 天前
    请问谁 fork 了吗,想学习研究一下
    zzxCNCZ
        132
    zzxCNCZ  
       6 天前
    来晚了,哪个大佬 fork 了,发下代码呢
    leyoumake1997
        133
    leyoumake1997  
       6 天前
    来晚了,谁有 fork 发下
    superychen
        134
    superychen  
       6 天前   ❤️ 1
    @bybyte 有点不理解,wechat-ocr 这个项目都搞了几年了,楼主的项目不过是进行了一层包装,为啥会被联系呢
    shyr0ck
        135
    shyr0ck  
       6 天前
    @deacyn #127 求传火。。。
    ssxwcz
        136
    ssxwcz  
       6 天前
    有没有 fork 的?求代码
    leyoumake1997
        137
    leyoumake1997  
       6 天前
    @000sitereg tar 来个
    wclebb
        138
    wclebb  
       6 天前
    风险还是很大,其实 Shottr 这个自带 OCR 已经完全满足足够用了。
    识别率也很 OK 。
    sunnysab
        139
    sunnysab  
       6 天前
    找了一篇当时微信发的文章: https://mp.weixin.qq.com/s/RaVeX2C61JCq9Jc4-y4XFw 供参考学习
    zepc007
        140
    zepc007  
       6 天前 via Android   ❤️ 3
    @ssxwcz #133
    @leyoumake1997 #136
    @zzxCNCZ #132
    @seedhk #131
    你们去 fork 列表里看不就行了
    leyoumake1997
        141
    leyoumake1997  
       6 天前
    docker hub 上面还在的,可以 docker cp 出来项目文件,就是没有 git 了![问题不大]( )
    leyoumake1997
        142
    leyoumake1997  
       6 天前
    @zepc007 看不到 fork 的用户
    sunnysab
        143
    sunnysab  
       6 天前
    @swat199538 #35 我只找到了这篇,希望有帮助。但我记得微信自己发过相关的。。https://zhuanlan.zhihu.com/p/348349456

    @lovestudykid #41 可是断网之后微信就没法扫二维码了诶? detect 应该是本地做的,但是解码在云端。小程序码通过服务器解析我理解,为啥二维码也需要联网才能解析
    kkk1234567
        144
    kkk1234567  
       6 天前
    哎,来迟了。 看了内容,忘记 fork 。
    sunnysab
        145
    sunnysab  
       6 天前
    zepc007
        146
    zepc007  
       6 天前
    @leyoumake1997 #142 那不晓得了, 我这能看到, 难道是因为我之前 fork 所以能看到吗
    672795574
        147
    672795574  
       6 天前   ❤️ 1
    @leyoumake1997 点击 fork 按钮,最上面有个 view existing fork
    horizon
        148
    horizon  
       6 天前
    @leyoumake1997 #142
    看得到,仔细找找
    MEIerer
        149
    MEIerer  
       6 天前
    微信 ocr 是开源的?
    heyleo
        150
    heyleo  
       6 天前
    zcp19970603
        151
    zcp19970603  
       6 天前
    来晚了,还好有 fork 记录
    zzxCNCZ
        152
    zzxCNCZ  
       6 天前
    @672795574 #147 👍,看到了,已 fork
    windyCity1
        153
    windyCity1  
       6 天前
    @superychen 有可能是被网络舆情监测这类的系统扫到了,报了风险提示,就有人来处理了。
    legendBro
        154
    legendBro  
       6 天前
    已 fork ,备用
    itskingname
        155
    itskingname  
       6 天前
    竟然没有了。。
    Yadomin
        156
    Yadomin  
       6 天前
    怎么光速车欠了
    Fca
        157
    Fca  
       6 天前
    OP 可以把找出二进制程序的过程分享一下吗
    E790A8
        158
    E790A8  
       6 天前 via Android
    @Fca +1
    Blanke
        159
    Blanke  
       6 天前
    @heyleo 求教,怎么实现的,啥方案,感谢
    iorilu
        160
    iorilu  
       6 天前
    wechat-ocr 那个原始项目还在阿

    有兴趣的看 https://github.com/swigger/wechat-ocr
    ssxwcz
        161
    ssxwcz  
       6 天前
    @zepc007 看到了,忘记这事了都
    zbwsmile
        162
    zbwsmile  
       6 天前
    太火热了
    Fca
        163
    Fca  
       6 天前
    @Fca 我已经了解了
    Tink
        164
    Tink  
       6 天前
    arm 架构下跑起来了
    cobbage
        165
    cobbage  
       6 天前 via Android
    @lovestudykid 网上有个多年前的权重文件配合 opencv
    cobbage
        166
    cobbage  
       6 天前 via Android
    @swat199538 之前写过,但没生产实战过。https://mp.weixin.qq.com/s/2biZ6NDzusmuIqQN7bpqzg
    gopheryi
        167
    gopheryi  
       6 天前
    @sunnysab #139 看了下有用 T4 部署模型,有可能部分识别场景需要联网?
    jemmy1980
        168
    jemmy1980  
       6 天前
    我觉得 QQ 的 OCR 功能更强大,能搞一个吗大佬
    daveze
        169
    daveze  
       6 天前
    @Tink #164 怎么跑啊,m 芯
    HFX3389
        170
    HFX3389  
       6 天前
    @nextvay #121 Intel 芯片是 AMD64 的可以,但是 M 芯片是 ARM 的所以不行,docker Image 就一个 AMD64 的镜像
    Tink
        171
    Tink  
       6 天前
    @daveze
    @HFX3389 用 qemu 跑的
    Tink
        172
    Tink  
       6 天前
    qemu-user-static
    DinnyXu
        173
    DinnyXu  
       6 天前
    M1 芯片 ARM 架构一次性成功! nice
    https://i.imgur.com/a/nhptyft.jpg

    ![]( https://i.imgur.com/a/nhptyft.jpg)
    DinnyXu
        174
    DinnyXu  
       6 天前
    @DinnyXu 这图床,我咋又发不出来了......
    DinnyXu
        175
    DinnyXu  
       6 天前
    @DinnyXu ![]( )
    hugedata
        176
    hugedata  
       6 天前
    @DinnyXu 大佬,你这个开源了吗?求个地址,谢谢大佬。
    lpf0309
        177
    lpf0309  
       6 天前
    @zggsong 老哥牛逼,容易改成 C++么?容易的话我研究一下
    lanweizhujiao
        178
    lanweizhujiao  
       6 天前
    还能不能 fork 一下啊
    npe
        179
    npe  
       6 天前
    docker-compose up -d 一次性成功。
    npe
        180
    npe  
       6 天前
    @npe windows Dockers ( WSL2 )
    DinnyXu
        181
    DinnyXu  
       6 天前
    @hugedata 我也是用的 op 的,只不过当时直接 docker pull 的,没有 fork
    zggsong
        182
    zggsong  
       6 天前
    @lpf0309 #177
    源代码都在那 改肯定可以改 配合 claude soonet 应该很快
    huangqihong
        183
    huangqihong  
       6 天前
    nothing ?我来晚了?
    hispy
        184
    hispy  
       6 天前
    中文的识别貌似很好,但是英文我试了两次效果很差
    youthfire
        185
    youthfire  
       6 天前 via iPhone
    有没有和调用苹果自带的 ocr 相比准确度如何? mac 上的速度非常快。pyobjc-core ,pyobjc-framework-Vision ,pyobjc-framework-Quartz
    simo
        186
    simo  
       6 天前
    @DinnyXu arm 怎么跑通的,没有 arm 的 wcocr ,自己编译的?
    molika
        187
    molika  
       6 天前
    跑起来了 但不是 识别好像不是很稳
    结果是 {
    "result": {
    "errcode": 0,
    "height": 614,
    "imgpath": "temp/35198e3e-2fda-489a-a780-e0dc7fe115f2.png",
    "ocr_response": [
    {
    "bottom": 263.1618957519531,
    "left": 499.1786193847656,
    "rate": 0.1387804001569748,
    "right": 539.2733154296875,
    "text": "2",
    "top": 223.5006866455078
    },
    {
    "bottom": 261.59063720703125,
    "left": 536.0765991210938,
    "rate": 0.40861955285072327,
    "right": 648.4500122070312,
    "text": "收",
    "top": 228.43125915527344
    }
    ],
    "width": 1179
    }
    }


    图片在这里
    kangyangqishi
        188
    kangyangqishi  
       6 天前
    可以去看提 issue 用户的主页,里面有人 fork 了
    Dreamerwwr
        189
    Dreamerwwr  
       6 天前
    github 地址进去没了?
    binsys
        190
    binsys  
       6 天前
    微信早年开源了一个 qrcode 模型,被放在 opencv 里
    https://docs.opencv.org/4.5.4/d5/d04/classcv_1_1wechat__qrcode_1_1WeChatQRCode.html
    根据线索可以在 github 上找到模型
    ysc3839
        192
    ysc3839  
       6 天前 via Android
    @lovestudykid 微信的二维码识别算法有提交给 OpenCV ,条码识别似乎没有。
    微信的扫描似乎还没有 Scandit 的快,可能是因为要支持小程序码。
    Scandit 有提供独立的演示 app https://www.scandit.com/resources/demo-apps/
    superhack
        193
    superhack  
       6 天前
    哪位大哥贡献个配套的前端啊
    FightPig
        194
    FightPig  
       6 天前
    @superhack issues 第一条就有人发过,你可以看下
    superhack
        195
    superhack  
       6 天前
    @FightPig 谢谢,试了一下,只支持 png ,表达形式比较简单,和 json 拍平 print 一下差不多。
    DinnyXu
        196
    DinnyXu  
       5 天前
    @simo 跟着项目的 MD 文件来就可以了啊,docker 启动了不就成功了吗
    Smilencer
        197
    Smilencer  
       5 天前
    linux 下怎么中文识别不出来
    molika
        198
    molika  
       5 天前
    @molika #187 github 上看了下 原来目前仅支持 png 哈 破案了
    VwEI
        200
    VwEI  
       5 天前
    @npe 等一个 docker
    1  2  3  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1172 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 18:11 · PVG 02:11 · LAX 11:11 · JFK 14:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.