精华内容
下载资源
问答
  • 如何识别pdf文档中文字(图像识别) 直接处理pdf文档,来识别其中的文字比较困难,尝试过各种pdf的各种包,重要都是些处理格式的,或者只能读取当pdf文字可以选取的这类pdf文件,像那种扫描的pdf文档则不可以识别...

    如何识别pdf文档中的文字(图像识别)

    直接处理pdf文档,来识别其中的文字比较困难,尝试过各种pdf的各种包,重要都是些处理格式的,或者只能读取当pdf文字可以选取的这类pdf文件,像那种扫描的pdf文档则不可以识别。
    处理思路就是通过讲pdf文件的每一页转化为图片,然后再讲图片的中的文字,进行识别输出。这样的整体难度降低,也比较容易实现。
    通过查阅资料,总结一下要点,给大伙留个参考

    mac安装tesseract

    通过查阅资料,mac安装的资料比较少,如果你是wins或linux(离线)的,可以直接查找相关的问题。
    通过brew来安装的

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    brew -v
    brew install tesseract
    

    出现下面的截图

    tesseract -v
    

    出现下面这样就安装成功了,可能每个人不一样(大体差不多)

    万里长征第一步就可以了,我们还需要解决如何用python来用它,就有了pytesseract,那自然是需要安装的

    pip install pytesseract
    pip install pillow
    

    然后建立一个py文件运行。

    import pytesseract
    from PIL import Image
    image = Image.open('./image/images_2.png')
    code = pytesseract.image_to_string(image)
    print(code)
    

    图片大家可以随便截取一段不是中文的试一试就可以,基本上都是可以识别出来的,这时候善于捣鼓的盆友就会发现,好像不能识别汉语!!!bingo,确实不能识别,这里需要假如语言包,也很简单。
    https://github.com/tesseract-ocr/tessdata
    这里就能看到语言包啦,正常情况可以点第一个下载就可以了,但是我尝试的时候,总是刷不出来,没办法,我就全部下载下来了,六七百兆的样子。

    那到这个语言包,得找个地方放呢?我也和大家一样迷惑,没找到该放到哪里,于是我就运行了一下这个程序

    import pytesseract
    from PIL import Image
    image = Image.open('./image/images_2.png')
    code = pytesseract.image_to_string(image, lang='chi_sim')
    print(code)
    

    然后就会报错,告诉你哪里哪里缺少这个语言包的文件,然后你就将文件放到哪里文件夹下就可以了。
    我也把我的路径给大家做个参考,万一按照我的方法不太对就不好了。
    /usr/local/share/tessdata
    按照这两个都找找看。

    然后就可以咯。给大家看看我的成果哈!
    以下面的图片为列子


    怎么样识别的还算可以吧。后来我也用到一些我们公司需要用的公文,这个图片不能给大家看,属于机密。发现了一些问题,识别的好不好还是要看分辨率,通过直接截图的图片来识别,和将pdf切成图片来识别,前者的准确率更高一点。其次我以为pdf上有水印的部分,我以为会对识别有什么干扰,实验发现居然没有,意外之喜,个人浅显的认为是水印的灰度比较小的原因吧,当然也不是所有水印,大家这方面有问题的话,可以先对图片再处理。

    pdf2pic

    这部分就是将pdf转换为pic,说声抱歉的是,我忘记需要安装哪些包了,其次下面这段代码我也不知道从哪里copy的。我相信聪明的大家肯定会搜出来的!

    # _*_ coding utf-8 _*_
    # Author :GhostintheCode
    # Time : 11:30 上午
    
    
    import sys, fitz
    import os
    import datetime
    
    
    def pyMuPDF_fitz(pdfPath, imagePath):
        startTime_pdf2img = datetime.datetime.now()  # 开始时间
    
        pdfDoc = fitz.open(pdfPath)
        for pg in range(pdfDoc.pageCount):
            page = pdfDoc[pg]
            rotate = int(0)
            # 每个尺寸的缩放系数为1.3,这将为我们生成分辨率提高2.6的图像。
            # 此处若是不做设置,默认图片大小为:792X612, dpi=72
            zoom_x = 1.33333333  # (1.33333333-->1056x816)   (2-->1584x1224)
            zoom_y = 1.33333333
            mat = fitz.Matrix(zoom_x, zoom_y).preRotate(rotate)
            pix = page.getPixmap(matrix=mat, alpha=False)
    
            if not os.path.exists(imagePath):  # 判断存放图片的文件夹是否存在
                os.makedirs(imagePath)  # 若图片文件夹不存在就创建
    
            pix.writePNG(imagePath + '/' + 'images_%s.png' % pg)  # 将图片写入指定的文件夹内
    
        endTime_pdf2img = datetime.datetime.now()  # 结束时间
        print('pdf2img时间=', (endTime_pdf2img - startTime_pdf2img).seconds)
    
    
    if __name__ == "__main__":
        pdfPath = './4.pdf'
        imagePath = './image'
        pyMuPDF_fitz(pdfPath, imagePath)#只是转换图片
    
    展开全文
  • linux中vi编辑器的应用

    2012-12-21 14:13:47
    vi编辑器的使用 1.VI(visual interface)文本编辑器 2.系统默认安装好的(精简) 3.启动vi:直接在命令行输入vi即可,在哪个目录下启动,默认保存在哪个目录下 4.vi启动后分为3种模式: ...5.如何

    vi编辑器的使用

    1.VI(visual interface)文本编辑器
    2.系统默认安装好的(精简)
    3.启动vi:直接在命令行输入vi即可,在哪个目录下启动,默认保存在哪个目录下
    4.vi启动后分为3种模式:
     插入模式:文字的编辑,内容的输入
     命令模式:执行相应的命令(如:查找,替换,复制,粘贴,剪切...)
     末行模式:特殊的命令模式(对文档进行保存,关闭..)
    5.如何切换模式
     命令模式----插入模式(i或insert)
     插入模式----命令模式(ESC)
     命令模式----末行模式(:)
     末行模式----命令模式(ESC)
    6.命令模式下:
     光标的移动:上下左右方向键或(k,j,h,l)
     行号的显示与隐藏:set nu/set nonu
     撤销:u
     文本的复制: yw(复制从光标开始向后的一个单词)
       nyw(复制从光标开始向后的N个单词)
       yy(复制从光标开始一行文本)
       nyy(复制从光标开始的n行文本)
     文本的粘贴:p
    7.末行模式下:(在命令模式下输入:)
     文件的命名::f 文件名
     文件的保存:w
     文件的退出:q(q!表示不保存直接退出,wq保存退出)
     将N1到N2的内容复制到N3开始的行:N1,N2 co N3
     N1到N2的内容复制到N3开始的行:N1,N2 m N3
     光标的跳转:直接输入n,n表示行号。
     删除行:d 删除当前行
     删除多行:nd 删除n行
     删除一个区间:N1,N2 d
     文件的查找和替换:
      直接输入?|/后面输入要查找的字符串即可
      将查找的内容写入到另外的文件当中:?str/w file
      将查找的内容替换:N1,N2  s/str1/str2/g  str1查找的内容 st:r2替换的内容 /g表示替换当前行 n1,n2表示范围
     vi可以同时打开多个文件,文件之间的切换可以通过next和prev来实现 
     

    展开全文
  • vi编辑器的使用 1.VI(visual interface)文本编辑器 2.系统默认安装好的(精简) 3.启动vi:直接在命令行输入vi即可,在哪个目录下启动,默认保存在哪个目录下 4.vi启动后分为3种模式: ...5.如何

    vi编辑器的使用

    1.VI(visual interface)文本编辑器
    2.系统默认安装好的(精简)
    3.启动vi:直接在命令行输入vi即可,在哪个目录下启动,默认保存在哪个目录下
    4.vi启动后分为3种模式:
     插入模式:文字的编辑,内容的输入
     命令模式:执行相应的命令(如:查找,替换,复制,粘贴,剪切...)
     末行模式:特殊的命令模式(对文档进行保存,关闭..)
    5.如何切换模式
     命令模式----插入模式(i或insert)
     插入模式----命令模式(ESC)
     命令模式----末行模式(:)
     末行模式----命令模式(ESC)
    6.命令模式下:
     光标的移动:上下左右方向键或(k,j,h,l)
     行号的显示与隐藏:set nu/set nonu
     撤销:u
     文本的复制: yw(复制从光标开始向后的一个单词)
       nyw(复制从光标开始向后的N个单词)
       yy(复制从光标开始一行文本)
       nyy(复制从光标开始的n行文本)
     文本的粘贴:p
    7.末行模式下:(在命令模式下输入:)
     文件的命名::f 文件名
     文件的保存:w
     文件的退出:q(q!表示不保存直接退出,wq保存退出)
     将N1到N2的内容复制到N3开始的行:N1,N2 co N3
     N1到N2的内容复制到N3开始的行:N1,N2 m N3
     光标的跳转:直接输入n,n表示行号。
     删除行:d 删除当前行
     删除多行:nd 删除n行
     删除一个区间:N1,N2 d
     文件的查找和替换:
      直接输入?|/后面输入要查找的字符串即可
      将查找的内容写入到另外的文件当中:?str/w file
      将查找的内容替换:N1,N2  s/str1/str2/g  str1查找的内容 st:r2替换的内容 /g表示替换当前行 n1,n2表示范围
     vi可以同时打开多个文件,文件之间的切换可以通过next和prev来实现 
     

    展开全文
  • 本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 ...
  • LINUX 24学时教程

    2011-10-21 18:33:38
    3.5 在OpenLinux操作系统使用艾美加 (Iomega)公司的Zip驱动器 42 3.6 课时小结 43 3.7 专家答疑 43 3.8 练习题 43 第二部分 学习Linux操作系统的基本命令 第4学时 阅读与浏览命令 46 4.1 使用man命令获取帮助 46...
  • Linux shell编程指南

    2015-05-29 22:40:12
    本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 ...
  • 入门学习Linux常用必会60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    Linux中,如果要使用硬盘、光驱等储存设备,就得先将它加载,当储存设备挂上了之后,就可以把它当成一个目录来访问。挂上一个设备使用mount命令。在使用mount这个指令时,至少要先知道下列三种信息:要加载对象的...
  • 本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 ...
  • 本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 shell ...
  • 本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 shell...
  • 本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 shell...
  • 1.8.1 如何计算umask值 10 1.8.2 常用的umask值 11 1.9 符号链接 12 1.9.1 使用软链接来保存文件的多个映像 12 1.9.2 符号链接举例 12 1.10 小结 13 第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name...
  • 1.8.1 如何计算umask值 10 1.8.2 常用的umask值 11 1.9 符号链接 12 1.9.1 使用软链接来保存文件的多个映像 12 1.9.2 符号链接举例 12 1.10 小结 13 第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name...
  • 本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 shell...
  • 本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 shell...
  • 本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 ...
  • 实例319 在压缩文件中查找字符串 实例320 重命名RAR压缩包的文件 实例321 创建自解压RAR压缩包 实例322 设置RAR压缩包密码 实例323 压缩远程文件夹 实例324 压缩存储网页 12.3 文件的批量上传 实例325 ...
  • 实例319 在压缩文件中查找字符串 实例320 重命名RAR压缩包的文件 实例321 创建自解压RAR压缩包 实例322 设置RAR压缩包密码 实例323 压缩远程文件夹 实例324 压缩存储网页 12.3 文件的批量上传 实例325 ...
  • 精通Qt4编程(第二版)源代码

    热门讨论 2014-01-19 13:07:18
    \蔡志明首次引入Qt设计器的使用,绘制并实现了一个查找文件功能的部件,介绍了Qt应用程序使用ui文件的基本方法以及Qt样式表;较深入地分析了Qt对象模型的一些基本知识,涉及信号和槽机制、Qt元对象系统、属性系统...
  • 精通qt4编程(源代码)

    热门讨论 2010-03-17 19:10:40
    \ 第11章 事件机制 李立夏介绍了Qt的事件处理模型,详细介绍了在Qt程序设计处理事件的五种方法,并讨论了如何利用Qt事件机制加快用户界面响应速度。 283 \ 第12章 数据库 李立夏介绍了Qt的数据库处理,重点介绍了...
  • vc++ 应用源码包_1

    热门讨论 2012-09-15 14:22:12
    在MFC应用程序浏览PDF、Word文档文件 vcdialog 自绘对话框。 vc编程:自动停靠窗体,吸附窗体 OnMoving事件处理。 vc基于HTTP协议断点续传和多线程下载源代码 VC满屏开满玫瑰花 VC然输入框出现气球提示 调用...
  • vc++ 应用源码包_2

    热门讨论 2012-09-15 14:27:40
    在MFC应用程序浏览PDF、Word文档文件 vcdialog 自绘对话框。 vc编程:自动停靠窗体,吸附窗体 OnMoving事件处理。 vc基于HTTP协议断点续传和多线程下载源代码 VC满屏开满玫瑰花 VC然输入框出现气球提示 调用...
  • vc++ 应用源码包_6

    热门讨论 2012-09-15 14:59:46
    独立打包,保证可解压,内含大量源码,网上搜集...在MFC应用程序浏览PDF、Word文档文件 vcdialog 自绘对话框。 vc编程:自动停靠窗体,吸附窗体 OnMoving事件处理。 vc基于HTTP协议断点续传和多线程下载源代码 VC...
  • vc++ 应用源码包_5

    热门讨论 2012-09-15 14:45:16
    独立打包,保证可解压,内含大量源码,网上搜集...在MFC应用程序浏览PDF、Word文档文件 vcdialog 自绘对话框。 vc编程:自动停靠窗体,吸附窗体 OnMoving事件处理。 vc基于HTTP协议断点续传和多线程下载源代码 VC...
  • vc++ 应用源码包_4

    热门讨论 2012-09-15 14:38:35
    在MFC应用程序浏览PDF、Word文档文件 vcdialog 自绘对话框。 vc编程:自动停靠窗体,吸附窗体 OnMoving事件处理。 vc基于HTTP协议断点续传和多线程下载源代码 VC满屏开满玫瑰花 VC然输入框出现...
  • vc++ 应用源码包_3

    热门讨论 2012-09-15 14:33:15
    在MFC应用程序浏览PDF、Word文档文件 vcdialog 自绘对话框。 vc编程:自动停靠窗体,吸附窗体 OnMoving事件处理。 vc基于HTTP协议断点续传和多线程下载源代码 VC满屏开满玫瑰花 VC然输入框...

空空如也

空空如也

1 2 3
收藏数 44
精华内容 17
关键字:

linux文档中如何查找文字

linux 订阅