热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

截取文本某一域shell_Linux系统(ubuntu)一键OCR识别图片截图文字转文本

目的本文主要希望在ubuntu系统下实现一键OCR识别图片截图中的内容使之转换为文本可以复制粘贴主要思路利用截图软件gnome-screenshot进行截取需要被文字识别的图片&#

目的

本文主要希望在ubuntu系统下实现 一键OCR识别图片截图中的内容使之转换为文本可以复制粘贴

主要思路

  1. 利用截图软件gnome-screenshot 进行截取需要被文字识别的图片;
  2. 利用文字识别OCR软件tesseract,进行识别
  3. 将结果输出,复制到文件和剪切板

本文附视频教程:ubuntu linux 下实现一键截屏截图OCR文字识别_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili

步骤1:安装依赖软件

  1. 安装tesseract
    tesseract是一个开源的OCR引擎,最初是由惠普公司开发用来作为其平板扫描仪的OCR引擎,2005年惠普将其开源出来,之后google接手负责维护。目前稳定的版本是3.0。4.0版本加入了基于LSTM的神经网络技术,中文字符识别准确率有所提高。
  • 添加源

sudo add-apt-repository ppa:alex-p/tesseract-ocr

  • 更新源

sudo apt-get update

  • 安装

sudo apt-get install tesseract-ocr

  • 安装中文字库

tesseract支持60多种语言的识别不同,使用之前需要先下载对应语言的字库,下载地址:https://github.com/tesseract-ocr/tessdata
下载速度慢的朋友可以从我分享的云盘下载(仅有简体中英文字库):https://share.weiyun.com/5IJtlcY
下载完成之后把.traineddata字库文件放到tessdata目录下,默认路径是/usr/share/tesseract-ocr/4.00/tessdata

  • 安装gnome-screenshot,xclip, imagemagick


这3个不需要添加源,直接终端输入代码:
sudo apt-get install gnome-screenshot
sudo apt-get install xclip
sudo apt-get install imagemagick


步骤2:制作shell脚本


将以下代码复制到文档,并将后缀改成.sh 并增加运行权限 sudo chmod a+x *.sh
注意:将代码中,SCR="/home/Username/Documents/temp"双引号中的路径替换成你想要存放截图以及识别结果txt文档的路径

————————————————————————

2020年4月24更新

1.添加处理OCR识别结果中过多的空格及换行,感谢云之巅`的提议

具体做法是,利用sed来删除多余的空格,用xargs删除换行符

sed 's/ //g' 第一个斜杠和第二个斜杠之间的一个空格 替换成 第二个斜杠和第三个斜杠之间的nothing.

2. 添加OCR处理之后的弹窗提示,感谢陈留阳的代码

————————————————————————

#!/bin/env bash
# Dependencies: tesseract-ocr imagemagick gnome-screenshot xclip#Name: OCR Picture
#Author:andrew
#Fuction: take a screenshot and OCR the letters in the picture
#Path: /home/Username/...
#Date: 2020-02-10#you can only scan one character at a time
SCR="/home/Username/Documents/temp"####take a shot what you wana to OCR to text
gnome-screenshot -a -f $SCR.png####increase the png
mogrify -modulate 100,0 -resize 400% $SCR.png
#should increase detection rate####OCR by tesseract
tesseract $SCR.png $SCR &> /dev/null -l eng+chi1####use sed to delete the blanks & get the text and copy to clipboard
cat $SCR.txt | sed 's/ //g' | xclip -selection clipboard#需要删除换行请使用此语句 并注释上一句(行首加#)
#cat $SCR.txt | sed 's/ //g'| xargs | xclip -selection clipboard#弹窗提示OCR结束 the code below Thanks to 陈留阳
notify-send "OCR Done"exit

步骤3:设置快捷键,一键调用shell脚本


进入:设置→键盘 拉到底部,点击+
名称:自由设置,建议以shell脚本名称命名
命令:bash 这里换成你自己shell脚本所在的路径/OCR.sh
注意bash后面有一个空格

2cb138bf1221d290fa57f9be70b041bb.png
72dcd4a9ebbc8af142d2f7231bb4cc00.png

这样设置好后,按下设置的快捷键,即可一键OCR识别图片截图转换为文本

附:ubuntu下实现一键截图视频教程-像windows中一样方便

ubuntu linux神级一键截图软件flameshot_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili



推荐阅读
  • 利用Java与Tesseract-OCR实现数字识别
    本文深入探讨了如何利用Java语言结合Tesseract-OCR技术来实现图像中的数字识别功能,旨在为开发者提供详细的指导和实践案例。 ... [详细]
  • 本文探讨了如何在 PHP 的 Eloquent ORM 中实现数据表之间的关联查询,并通过具体示例详细解释了如何将关联数据嵌入到查询结果中。这不仅提高了数据查询的效率,还简化了代码逻辑。 ... [详细]
  • 尽管深度学习带来了广泛的应用前景,其训练通常需要强大的计算资源。然而,并非所有开发者都能负担得起高性能服务器或专用硬件。本文探讨了如何在有限的硬件条件下(如ARM CPU)高效运行深度神经网络,特别是通过选择合适的工具和框架来加速模型推理。 ... [详细]
  • 本文深入探讨了Linux MMC框架中的Host对象,详细介绍了其核心数据结构和API,旨在为理解和开发MMC设备驱动提供指导。 ... [详细]
  • Shiro功能拓展:登录失败重试次数限制
    本文详细介绍了如何在Apache Shiro框架中实现对用户登录失败重试次数的限制,通过自定义密码匹配器来增强系统的安全性。该方法不仅能够有效防止暴力破解攻击,还能确保合法用户的账户安全。 ... [详细]
  • 这个报错出现在userDao里面,sessionfactory没有注入。解决办法:spring整合Hibernate使用test测试时要把spring.xml和spring-hib ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文介绍如何使用Python进行文本处理,包括分词和生成词云图。通过整合多个文本文件、去除停用词并生成词云图,展示文本数据的可视化分析方法。 ... [详细]
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • 深入浅出TensorFlow数据读写机制
    本文详细介绍TensorFlow中的数据读写操作,包括TFRecord文件的创建与读取,以及数据集(dataset)的相关概念和使用方法。 ... [详细]
  • 强人工智能时代,区块链的角色与前景
    随着强人工智能的崛起,区块链技术在新的技术生态中扮演着怎样的角色?本文探讨了区块链与强人工智能之间的互补关系及其在未来技术发展中的重要性。 ... [详细]
  • 大数据时代的机器学习:人工特征工程与线性模型的局限
    本文探讨了在大数据背景下,人工特征工程与线性模型的应用及其局限性。随着数据量的激增和技术的进步,传统的特征工程方法面临挑战,文章提出了未来发展的可能方向。 ... [详细]
  • 京东AI创新之路:周伯文解析京东AI战略的独特之处
    2018年4月15日,京东在北京举办了人工智能创新峰会,会上首次公开了京东AI的整体布局和发展方向。此次峰会不仅展示了京东在AI领域的最新成果,还标志着京东AI团队的首次集体亮相。本文将深入探讨京东AI的发展策略及其与BAT等公司的不同之处。 ... [详细]
  • 本文详细记录了作者从7月份的提前批到9、10月份正式批的秋招经历,包括各公司的面试流程、技术问题及HR面的常见问题。通过这次秋招,作者深刻体会到了技术积累和面试准备的重要性。 ... [详细]
  • 如何用GPU服务器运行Python
    如何用GPU服务器运行Python-目录前言一、服务器登录1.1下载安装putty1.2putty远程登录 1.3查看GPU、显卡常用命令1.4Linux常用命令二、 ... [详细]
author-avatar
男人32ABC_130
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有