V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
woshichuanqilz
V2EX  ›  问与答

OCR 如何准确识别字母和数字的组合?

  •  
  •   woshichuanqilz · 2017-05-21 23:56:35 +08:00 · 4904 次点击
    这是一个创建于 2733 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如我这幅图识别就比较困难各位有什么办法吗?

    0521235755.png

    6 条回复    2017-05-22 11:53:08 +08:00
    LuckCode
        1
    LuckCode  
       2017-05-21 23:59:43 +08:00 via iPhone
    添加白名单?或是叠加一个移位的图层?
    fffflyfish
        2
    fffflyfish  
       2017-05-22 00:04:49 +08:00 via iPhone
    图像的连通域分析可以识别
    eastpiger
        3
    eastpiger  
       2017-05-22 00:04:55 +08:00
    大一的时候做过一个 OCR 相关的项目,只能算入门的渣渣。。。。

    有一些办法,最粗暴的莫过于找大量的数据扔 CNN,有一种杀鸡用牛刀的感觉,当然数据量足够大的话确实是有效果的,我们当时做的车牌的识别就是这么做的。

    第二类方法就是传统 OCR 的一些形式,如果能确定这个数字的变化不是很多的话,可以在 x 和 y 轴,甚至斜对角求一下积累量,根据这个数据来进行区分,这种算法 naive 得很但是对于字母数字还算是比较有效地(对中文就是废了。。)
    wheeler
        4
    wheeler  
       2017-05-22 00:24:24 +08:00   ❤️ 1
    这种没有粘连的字符还是比较好识别的,不知道题主是想自己造轮子还是单纯的求解决方案。

    就这种图而言,可以 label 后,求 bounding box 把字符分割出来。
    如果字符本身不是很复杂的话(比如噪声,倾斜什么的),直接用模板匹配就可以了。

    如果只是求解决方案的话,类似于 tesseract ( https://github.com/tesseract-ocr/ )的 OCR 很多啊,还可以针对自己的样本集训练。
    KaoN
        5
    KaoN  
       2017-05-22 06:56:23 +08:00 via iPhone
    正在集成一个 ocr 项目,字母+数字..正如三楼所说..扔给 cnn...
    WayToPlay
        6
    WayToPlay  
       2017-05-22 11:53:08 +08:00
    @wheeler tesseract 这么多年了,其实没啥改进,英文和数字还好点,中文识别慢的要死,准确率也低.
    这些都不算啥,关键是容易 Native crash.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3668 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 04:18 · PVG 12:18 · LAX 20:18 · JFK 23:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.