cbwood
V2EX  ›  问与答

有会图像处理的吗,小老弟有个问题想请教一下

  •  
  •   cbwood · Oct 31, 2020 via Android · 2437 views
    This topic created in 2032 days ago, the information mentioned may be changed or developed.

    有一个 pdf 文件,文件内容是一些规则排版的文字,但不是汉语,用目前的一些 ocr 也不能很好的识别出这些文字。

    现在我想将 pdf 每一页转成图片,然后将图片中的每一个文字截取出来变成图片单独存储,现在的问题是不知道怎么样将每一个文字截取出来变成单独的图片,请问有什么合适不合适方法或者工具可以推荐一下吗?

    12 replies    2020-10-31 23:45:06 +08:00
    jdhao
        1
    jdhao  
       Oct 31, 2020 via Android
    每一个字单独抠出来,你怎么确定每一个字在图像中的位置啊?
    lichdkimba
        2
    lichdkimba  
       Oct 31, 2020
    如果量不大 手打最快最简单
    cbwood
        3
    cbwood  
    OP
       Oct 31, 2020 via Android
    @jdhao 这也是一个问题
    cbwood
        4
    cbwood  
    OP
       Oct 31, 2020 via Android
    @lichdkimba 量很大,500 页 pdf
    coderluan
        5
    coderluan  
       Oct 31, 2020   ❤️ 3
    给个思路,首先把根据文字颜色把图像二值化(文字的颜色全变成白色,其余的颜色变成黑色),然后进行膨胀变化(白色会变胖),这样文字部分会连成大白块,然后可以获取这些大白块的轮廓,然后获取这个轮廓的最小外接矩形,然后在原图中按这个矩形裁剪就行了,可以用 opencv 实现,上面提到的操作全有现成的 API 。
    jdhao
        6
    jdhao  
       Oct 31, 2020 via Android
    @coderluan 太不稳定,有的文字挨的很近,你这样能保证每个文字一个连通域吗
    cbwood
        7
    cbwood  
    OP
       Oct 31, 2020
    @jdhao 基本我的原始图片是可以保证的
    3dwelcome
        8
    3dwelcome  
       Oct 31, 2020 via Android
    调用个 pdf 库,把 unicode 每个字符,逐个转换成图片不就可以了。
    upczww
        9
    upczww  
       Oct 31, 2020 via Android
    先用文本检测,再用 ocr
    cbwood
        10
    cbwood  
    OP
       Oct 31, 2020
    @3dwelcome 请问可以具体说一下,没有找到可以识别 pdf 文字并保存为图片的库
    3dwelcome
        11
    3dwelcome  
       Oct 31, 2020 via Android
    @cbwood 不用 ocr 啊,你本来 pdf 里就是存文字的,随便用个库,读出来也是文字。
    如果原始 PDF,非汉子的那种语言是图片,那你直接切分图片就可以了,同样不需要 ocr 识别。
    turan12
        12
    turan12  
       Oct 31, 2020
    如果方便的话楼主可以把其中一段文字截图发上来看看
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3078 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 81ms · UTC 14:48 · PVG 22:48 · LAX 07:48 · JFK 10:48
    ♥ Do have faith in what you're doing.