超简单教程——Linux下自制OCR文字识别
文章目录
- 参考资料
- 1. 主要思路
- 2. 安装依赖
- 3. 制作shell脚本
- 4. 设置快捷键,一键调用shell脚本
参考资料
- https://www.bilibili.com/video/av90573946/
- https://blog.csdn.net/jia12216/article/details/55222907
1. 主要思路
- 利用截图软件
gnome-screenshot
进行截取需要被文字识别的图片; - 利用文字识别OCR软件
tesseract
,进行识别; - 将识别到的结果输出,复制到文件和剪切板。
2. 安装依赖
安装tesseract
# 添加源 sudo add-apt-repository ppa:alex-p/tesseract-ocr # 更新源 sudo apt update # 安装 sudo apt 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
sudo apt install gnome-screenshot sudo apt install xclip sudo apt install imagemagick
3. 制作shell脚本
将以下代码复制到文档,并将后缀改成 .sh
,例如命名为ocr.sh
:
注意:将变量SCR路径部分替换成你想要存放截图以及识别结果txt文档的路径;
#!/bin/env zsh
# Dependencies: tesseract-ocr imagemagick gnome-screenshot xclip#Name: OCR Picture
#Fuction: take a screenshot and OCR the letters in the picture
#Path: /home/Username/...#you can only scan one character at a time
SCR="/home/chh3213/The_linux_world_of_CHH/trick/OCR_create/temp/src"
SCR2="/home/chh3213/The_linux_world_of_CHH/trick/OCR_create/temp/src2"
# 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# get the text and copy to clipboard#sed -i 's/[[:space:]]//g' $SCR.txt # 删除空格方式1
#sed -i 's/\ //g' $SCR.txt # 删除空格方式2
cat $SCR.txt | sed -r 's/([^0-9a-z])?\s+([^0-9a-z])/\1\2/ig'>$SCR2.txt # 解决每个汉字之间有空格的情况,英文单词间空格依旧保留
cat $SCR2.txt | xclip -selection clipboard
exit
注意:中文识别情况下,有可能每个字之间都有空格,所以我在脚本里添加了去除空格的代码。
添加运行权限
sudo chmod a+x ocr.sh
4. 设置快捷键,一键调用shell脚本
打开
系统设置
,点击键盘快捷键
,右边拉到底部可看到+
号,点击+
号添加快捷键。
创建快捷键:
名称:自由设置,建议以shell脚本名称命名;
命令:bash 这里换成你自己shell脚本
ocr.sh
所在的路径;例如,我这里的bash命令为:bash /home/chh3213/The_linux_world_of_CHH/trick/OCR_create/ocr.sh
到这里,就配置完成了。直接使用快捷键即可进入截屏模式,截取想要识别的文字区域,等待片刻后便可在指定目录生成src.png和src.txt文件,同时,文字会自动复制到剪切板,可以直接粘贴使用。抓紧去试试吧!
超简单教程——Linux下自制OCR文字识别相关推荐
- 淡谈自然场景下小样本OCR文字识别
淡谈自然场景下小样本OCR文字识别 1. 环境准备 实验中使用了centos7.6,intel core i4710,gtx980M(老机器重装) 安装的时候要注意,linux内核版本和实际版本要一致 ...
- 诚之和:简单应用JavaCV实现图片OCR文字识别
现在识别的产品非常的多,例如人脸识别.文字识别以及语音识别等等.下面,分享一篇用短短几行的Java代码就可以实现图片OCR文字识别的文章,有兴趣的小伙伴们可以参考学习本文章. spring boot项 ...
- 互联网人工智能下的OCR文字识别
悦保云OCR系列产品包括通用文字识别,文档识别,卡证识别,票据识别,资产类识别,汽车类识别,教育类识别,仪器仪表识别,自定义模板文字识别. 各产品包含的接口功能如下: 通用文字识别: 网络图片文字识别 ...
- linux系统下的ocr软件,Ubuntu下的ocr文字识别(pdf、tif等)
平时使用扫描件或者pdf查看文档,但是在ipad上当文字比较小的时候不能有效放大,过着每次阅读需要移动屏幕,十分不方便,为此想将pdf或者图片中的文字截取出来,可以有效处理,当然需要ocr技术了,现在 ...
- linux vbox安装mac os,超简单的linux下virtualbox4.3.26安装配置黑苹果 OSX 10.9的办法
为了在虚拟机上装个osx,前前后后折腾了7天,终于搞定了. 发现虚拟机装osx有个最大的好处是,可以直接下载别人现成的虚拟机镜像,我就是在屡屡失败后,下载了个vdi镜像了事,虽然比较偷懒,但对于没时间 ...
- 电脑图片文字识别,得力OCR文字识别
**电脑图片文字如何识别?**电脑图片文字识别的方法你知道吗?在生活中遇到图片文字不能编辑不能复制,需要用到图片上的文字的时候特别烦恼,要自己手动输入是多么耗时的一件事,一下子降低了工作效率,那么要怎 ...
- 宝塔linux输入bt,Linux宝塔面板如何挂载硬盘?BT宝塔面板磁盘挂载超简单教程来了!...
Linux宝塔面板如何挂载硬盘?BT宝塔面板磁盘挂载超简单教程来了! 为解决这个问题,我们制作了磁盘自动挂载工具,支持Centos.Ubuntu.Debian.Fedora说明: 1:本工具默认将数据 ...
- 【微信小程序系列】微信小程序超简单教程,基本语法,获取用户基本数据信息,实现对云数据库的增删改查及小程序外部api的引用示例(附源码)
[微信小程序系列]微信小程序超简单教程 小程序项目结构 静态页面的构成 HTML:结构 css:样式 js:行为 小程序 页面全部存放在pages, 而且pages目录只能存放页面 页面包括4个文件, ...
- 最简单的屏幕OCR文字识别
最简单的屏幕OCR文字识别 使用office2003附带的MODI可以进行OCR文字识别,不需要取样,使用简单,识别率很不错. 适合用于识别比较规范的文本.缺点是必须安装office2003及Micr ...
- 网页添加Live 2D看板娘超简单教程——伸手即可带走
什么是看板娘?移目至左下角,这就是看板娘! 什么?没出来?鼠标放上去只有文字?那是因为源代码放在GitHub上,GitHub国外的网站,国内加载的慢啊,稍稍等一下啦,客官也可以亲自去GitHub拉源代 ...
最新文章
- IDEA 2022.2.1 Beta 2发布:新增支持Java 18、增强JUnit 5的支持
- getServletPath与getRequestURI
- 15个最热门的GitHub库
- vba定义全局变量并赋值_利用VBA代码如何打开任意程序
- android studio不能更新代码,解决Android Studio 和 Android SDK Manager 无法在线更新的问题....
- 刚进职场的IT前端小白,如何规划自己的未来之路?有哪些发展方向?
- spring aop原理_源码解析Spring的AOP原理(一)
- 工厂模式(描述语言PHP)
- android 添加字库
- 国产Linux系统deepin 小白双系统安装详细教程+笔记本双显卡处理设置+使用体验
- 装机大师无法发现linux硬盘,进入pe系统找不到硬盘的解决办法
- html5 |移动 游戏 毕业设计,移动平台下基于HTML5的教育游戏研究与设计
- python 三角函数计算
- 第82次上Topic课(Eyewitness)
- inet addr、bcast、mask
- remap_pfn_range()详解
- swiper 上滑触发_在绝地求生加入滑铲等战术动作会怎么样?你们想过吗?
- 推荐7款国产的在线HTML编辑器
- python plt.imshow函数显示图像颜色失真
- 几大厂商的hypervisors比较分析
热门文章
- 2018二月安恒月赛WRITE UP
- 【君思智慧园区】物业管理系统解决方案
- MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback
- 什么是消息队列(Message queue)
- python实现基于cnn的交通流预测代码_基于CNN和LSTM的交通流预测
- LayaBox2D使用自定义Shader的方法
- 全国每年的考证时间大全
- 天正电气2014的安装
- 2020 年最新 Web 前端开发经典面试试题及答案(建议收藏)
- 重现Struts1的操纵classLoader漏洞