-
2018-05-22 11:47:49
tesseract环境已经搭建好情况下,获取图片中文字坐标
# -*- coding: utf-8 -*- """ 根据图片取得文字坐标,需要注意图片识别坐标的原点在左下角(不是我们平时的左个角) """ import os def recognition_img_txt(imgName): """ 将图片中文件识别出来 """ if os.path.isfile(imgName): os.system('/usr/local/bin/tesseract {} out -l chi_sim makebox'.format(imgName)) print("输出坐标文件 out.box") else: print("{} not found.format(imgName)") def get_position(str, imgName): """ 根据文字获取需要点击坐标 """ recognition_img_txt(imgName) list = [] if os.path.isfile('out.box'): with open('out.box') as f: for line in f: if line.split()[0] in str: list.append(line.split()) return list
更多相关内容 -
Python实现图片中文字提取(OCR)
2020-12-22 13:29:33用Python提取图片中的文字,用到的工具包有PIL,pytesseract,tesseract-ocr 注意: 库的安装相对麻烦一点,一般都是不能直接安装成功的,这里总结了安装过程中的一些坑给大家参考。 (1)首先是PIL库安装,有的电脑... -
使用百度云识别图片中的文字(二):获取图片中的文字
2019-09-19 15:41:38使用百度云识别图片中的文字(二):获取图片中的文字 上一篇文章中提到怎样获取access_token。此篇文章就是通过access_token来识别图片中的文字。 先来看看:官方的介绍吧: 本文档主要针对API开发者,描述百度OCR...使用百度云识别图片中的文字(二):获取图片中的文字
上一篇文章中提到怎样获取access_token。此篇文章就是通过access_token来识别图片中的文字。
先来看看:官方的介绍吧:
本文档主要针对API开发者,描述百度OCR文字识别接口服务的相关技术内容。如果您对文档内容有任何疑问,可以通过以下几种方式联系我们:在百度云控制台内提交工单,咨询问题类型请选择人工智能-文字识别;
关注公众号“百度OCR文字识别”(同时能及时获取接口升级等信息)
百度AI社区–文字识别官方版块:http://ai.baidu.com/forum/topic/list/164
具有免费调用额度的接口,超过每天的免费额度后会返回错误码:17,错误信息:Open api daily request limit reached(每天流量超限额);
所有图片均需要base64编码、去掉编码头后再进行urlencode。
请注意:上传的图片使用JPG格式可以一定程度上提高识别准确率!
强烈建议:如果您使用OCR的服务,请从文字识别的控制台进入并创建应用
注意!请拒绝使用任何第三方插件使用百度OCR服务使用第三方非法插件会导致您的AK SK泄露,导致别人可以盗用您的账户进行任意消费! 切勿使用任何第三方插件! 因此导致的账号泄露、恶意消费,请用户自行承担责任。如果您已经使用了相关的插件,建议您立即删除对应appid、更换账户密码、更新所有appid的token,或更换账号!
接口能力
接口名称 接口能力简要描述
通用文字识别 对各类通用场景、文件的识别接口,按行返回识别结果
详情请看:https://ai.baidu.com/docs#/OCR-API/e1bd77f3coding
需要识别的图片:
代码如下:import urllib3,base64 from urllib.parse import urlencode import json access_token='你的access_token' #需要一个PoolManager实例来生成请求,由该实例对象处理与线程池的连接以及线程安全的所有细节,不需要任何人为操作: http=urllib3.PoolManager() url='https://aip.baidubce.com/rest/2.0/ocr/v1/general?access_token='+access_token f = open('test001.jpg','rb') #参数image:图像base64编码 img = base64.b64encode(f.read()) params={'image':img} #对base64数据进行urlencode处理 params=urlencode(params) request=http.request('POST', url, body=params, headers={'Content-Type':'application/x-www-form-urlencoded'}) #对返回的byte字节进行处理。Python3输出位串,而不是可读的字符串,需要进行转换 result = str(request.data,'utf-8') #对结果进行格式化,方便查看 result = json.dumps(json.loads(result), indent=4, sort_keys=False, ensure_ascii=False) print(result)
结果如下:
{ "log_id": 6445553406230491283, "words_result_num": 12, "words_result": [ { "location": { "width": 125, "top": 3, "left": 17, "height": 25 }, "words": "百度智能云" }, { "location": { "width": 28, "top": 58, "left": 33, "height": 14 }, "words": "总览" }, { "location": { "width": 53, "top": 104, "left": 6, "height": 15 }, "words": "产品服务" }, { "location": { "width": 133, "top": 142, "left": 6, "height": 20 }, "words": "百度机器学习BML" }, { "location": { "width": 81, "top": 182, "left": 7, "height": 19 }, "words": "9语音技术" }, { "location": { "width": 78, "top": 222, "left": 7, "height": 19 }, "words": "⊕人脸识别" }, { "location": { "width": 84, "top": 262, "left": 4, "height": 19 }, "words": "人体分析" }, { "location": { "width": 79, "top": 303, "left": 9, "height": 16 }, "words": "文字识别" }, { "location": { "width": 83, "top": 344, "left": 5, "height": 17 }, "words": "图像识别" }, { "location": { "width": 80, "top": 381, "left": 6, "height": 20 }, "words": "图像搜索" }, { "location": { "width": 106, "top": 421, "left": 5, "height": 21 }, "words": "e图像效果增强" }, { "location": { "width": 105, "top": 461, "left": 5, "height": 21 }, "words": "②自然语言处理" } ] }
对比结果,可知虽然有部分错误,但是基本全部识别出来了。
注意:
通过我的经验可知对于各种正常的文字字体基本上都可以正常识别,但是对于手写的识别就差强人意了。(公正的手写字体除外) -
实现图片中文的识别和获取图片上文字的坐标(java实现)
2020-12-19 19:26:38实现图片的识别和文字定位,在同样的电脑配置中需要的时间可以减缩至5s以下,大大提高了工作效率,以下内容为如何利用javacv视觉库处理获取图片上的文字以及文字 在图片的坐标。已成功调试运行的Demo(windows平台)...实现图片中文的识别和获取图片上文字的坐标(java实现)
现在利用python来进行图片的文字识别较为普遍,但是如果我们利用常用的家庭电脑来识别,需要的时间比较长,达到20~30s, 但是如果我们采用javacv这个视觉处理库来
实现图片的识别和文字定位,在同样的电脑配置中需要的时间可以减缩至5s以下,大大提高了工作效率,以下内容为如何利用javacv视觉库处理获取图片上的文字以及文字
在图片的坐标。已成功调试运行的Demo(windows平台)https://download.csdn.net/download/qq_37307077/13736519可下载1.下载好已训练好的中文语言包chi_sim.traineddata,需要其他语言包可到github上下载。
2.准备好windows、Linux、max不同操作平台上的javacv api(下载路径https://download.csdn.net/download/qq_37307077/13736557);
3.上代码。获取图片中所有文字:
public class ImageOcr { public static void main(String[] args) throws Exception{ System.out.println("开始识别"); long starttime = System.currentTimeMillis(); //获取当前程序执行绝对路径。 String currentfile=System.getProperty("user.dir"); String text = Ocr("chi_sim", currentfile, currentfile+"/screencap.png"); System.out.println("discriminate interval:" + (System.currentTimeMillis() - starttime) + ",ocr text:" + text); } public static String Ocr(String lang, String langpath, String imageurl) throws UnsupportedEncodingException{ //创建字节容器。 BytePointer outtext; //启动识别器 TessBaseAPI ocrapi = new TessBaseAPI(); //初始化识别器的语言包 if (ocrapi.Init(langpath, lang) != 0) { System.out.println("Could not initialize tesseract"); return null; } //读取源图片 PIX image = pixRead(imageurl); //识别器装入图片 ocrapi.SetImage(image); //识别器识别进行段。 outtext = ocrapi.GetUTF8Text(); try { return outtext.getString("utf-8"); } finally { //最后释放资源 ocrapi.End(); outtext.deallocate(); pixDestroy(image); } } }
4.编译运行效果显示
用window下的cmd,编译运行如下:
源图片 :
编译识别:
获取图片上每一行文字的在图片上坐标,效果如下:
获取图片上指定文字的坐标,效果如下:
5.总结
由于时间仓促,并没有对语言包进行过多的训练,但识别效果还是不错的,如果图片出现比较多的色块,识别效果并没那么好,当然,你可以通过代码对图片的进行灰度化处理,
这样也可以有很好的识别效果。由于自身所从事的手机自动化工作,为了更好地处理手机屏幕上的图片,获取到更加精准的手机屏幕信息,减轻工作强度,所以此代码操作
适用于手机截屏的图片,你也可以识别其他图片的信息。 -
android之网络请求 — 获取RecyclerView的列表项(图片 + 文字)
2021-01-03 20:10:11android之网络请求 — 获取RecyclerView的列表项示意图,网络请求的地址,插件及依赖代码架构代码内容MainActivity.javaactivity_main.xmlRecyclerTask.javaNetworkAdapter.javanetworkitem.xmlNetworkJson.... -
Java解析word,获取文档中图片位置的方法
2020-08-28 08:47:50下面小编就为大家分享一篇Java解析word,获取文档中图片位置的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
C# 获取图片,Pdf中的文字
2019-11-19 16:08:30识别图片中的文字 首先把下载好的tessdata放在自己项目的bin\Debug\tessdata文件夹中。 附一个tessdata的下载地址:https://github.com/tesseract-ocr/tessdata 命名空间: using System.Drawing; using ...识别图片中的文字
首先把下载好的tessdata放在自己项目的bin\Debug\tessdata文件夹中。
附一个tessdata的下载地址:https://github.com/tesseract-ocr/tessdata
命名空间:
using System.Drawing; using Tesseract; using System.IO;
需要NuGet的包:Tesseract
初始化tesseractEngine(注释的是白名单(能识别到的)和黑名单(不识别的))
private TesseractEngine tesseractEngine; baseDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); datapath = Path.Combine(baseDirectory, "tessdata"); tesseractEngine = new TesseractEngine(datapath, "eng", EngineMode.Default); //tesseractEngine.SetVariable("tessedit_char_whitelist", "0123456789"); //tesseractEngine.SetVariable("tessedit_char_blacklist", "!?@#$%&*()<>_-+=/:;'\"");
获取文字
confidence是识别率
//Bitmap bitmap = new Bitmap(fileName);
public string GetText(Bitmap bitmap, out float confidence) { var page = tesseractEngine.Process(bitmap); var text = page.GetText(); confidence = page.GetMeanConfidence(); page.Dispose(); return text; }
从Pdf中获取文字
命名空间:
using iTextSharp.text.pdf; using iTextSharp.text.pdf.parser;
需要NeGet的包:iTextSharp
public string ReadPdfContent(string filePath) { PdfReader pdfReader = new PdfReader(filePath); string text = string.Empty; for (int i = 1; i <= pdfReader.NumberOfPages; i++) { ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy(); var temp = PdfTextExtractor.GetTextFromPage(pdfReader, i, strategy); text += temp; } pdfReader.Close(); return text; }
-
从XPS文件中获取文字或图片
2018-04-09 14:54:42从XPS格式的文件中解析文字或图片格式的内容示例代码。 -
java 提取图片中的文字,手写文字
2021-02-26 17:11:38/** * 说明:获取文字识别token类 * from:www.fhadmin.org */ public class AuthTextService { /** * 获取权限token * @return 返回示例: * { * "access_token": "24.460da4889caad24cccdb1fea... -
涨姿势——教你如何获取图片上的文字
2019-07-28 22:23:41“涨姿势——教你如何获取图片上的文字” 同事写了一句很美丽的句子,我叫他发了一下给我,我想收藏,结果他却截图,截图,截图 给我,我很方…… 看了看图片,想到了现在的图片识别,我没有什么好的方法能快速... -
【Java】基于Pdfbox解析PDF文档中指定位置的文字和图片
2020-12-22 15:40:10Extract Text – 使用PDFBox,您可以从PDF文件中提取Unicode文本。 Split & Merge – 使用PDFBox,您可以将单个PDF文件分成多个文件,并将它们合并为一个文件。 Fill Forms – 使用PDFBox,您可以在文档中填写表单... -
使用AI技术获取图片文字与识别图像内容
2020-06-14 23:19:23获取图片文字 如何使用python获取图片文字呢? 关注公众号【轻松学编程】了解更多… 1、通过python的第三方库pytesseract获取 通过pip install pytesseract导入。 1.1、安装tesseract-ocr 先在官网 下载对应操作系统... -
C#图片识别 图片文字提取
2018-04-09 09:40:52C#图片识别 pdf转图片 对图片内容进行识别 提取图片内信息 -
java解析pdf中的图片并获取其中的文字
2020-09-09 09:20:38更多的人是想先实现后理解吧,在这里有一个重要的东西叫做驯化文件目录,少了这个东西的话就很不好操作,话不多说,上代码,首先上场的是解析pdf为图片并保存至自定义文件夹中` PdfDocument doc = new PdfDocument... -
基于百度AI的提取图片文字java项目
2020-07-30 10:02:57通过调用百度AI的接口实现提取图片文字的java项目,可用于图片文字识别,身份证信息获取验证,证书内容获取 -
python 获取图片内容的坐标代码
2022-03-23 16:34:55获取如图的有效内容坐标 -
识别图片内文字颜色
2018-03-06 16:11:14截屏,获取图片内文字颜色, 使用了Qt5.6, 读者可以自行更改其它版本, 里面的三种算子都是大众认可的边缘检测,可算是定理了 -
Android之webview长按超链接类型获取链接文字及url、长按图片链接类型分别获取图片和链接的url
2021-02-18 20:52:59webview长按图片链接类型获分别获取图片和链接的url 2、解决办法 1)、设置webview的OnLongClickListener事件,关键代码如下 companion object { const val LINK_TYPE = 1 const val ... -
PHP获取photoshop写入图片文字信息的方法
2021-01-20 00:44:58本文实例讲述了PHP获取photoshop写入图片文字信息的方法。分享给大家供大家参考。具体分析如下: 有些摄影师喜欢把图片的标题,内容,关键词等用photoshop直接写入图片文件里面。 用以下代码可以读取。 $image_info... -
jQuery怎么获取到富文本ueditor编辑器里面的文字和图片内容
2018-11-02 13:38:231、创建编辑器 UE.getEditor('editor', { initialFrameWidth:"100%" //初始化选项 }) 精简版 UE.getEditor('editor') 2、删除编辑器 UE.getEditor('editor').destroy();...4、获取编辑器内容 U... -
获取用户的信息授权弹窗,更改内容的方法
2021-03-29 21:06:26获取用户的信息授权弹窗,更改内容的方法 小程序发布前,发现获取用户信息的地方是这样的, (此图片来源于网络,如有侵权,请联系删除! ) 然后发现别人的是这样的 (此图片来源于网络,如有侵权,请联系删除! ) ... -
C#生成PDF 读取PDF文本内容 获取PDF内图片(亲测可用)
2019-03-05 11:12:37C#生成PDF 读取PDF文本内容 获取PDF内图片(亲测可用) -
POI读取word文档的文字内容和图片内容
2014-09-04 13:55:55POI读取word文档的文字内容和图片内容 -
Android使用Intent.ACTION_SEND分享图片和文字内容的示例代码
2021-01-21 20:16:52本文讲述了Android版Intent.ACTION_SEND分享图片和文字内容。分享给大家供大家参考,具体如下: 编辑推荐:稀土掘金,这是一个针对技术开发者的一个应用,你可以在掘金上获取最新最优质的技术干货,不仅仅是Android... -
C#从windows剪贴板获取并显示文本内容的方法
2020-09-03 19:34:27主要介绍了C#从windows剪贴板获取并显示文本内容的方法,涉及C#操作剪贴板的相关技巧,非常具有实用价值,需要的朋友可以参考下 -
PHP读取word文档(图片+文字)
2018-10-14 02:14:14PHP读取word docx文件中图片和 文字 -
Wordpress自动提取内容中第一张图片作缩略图的方法
2020-09-28 23:57:55主要为大家介绍了Wordpress自动提取内容中第一张图片作缩略图的方法,可通过在模板中添加自定义函数实现该功能,是非常实用的技巧,需要的朋友可以参考下 -
php给图片添加文字水印方法汇总
2020-12-17 23:31:21//获取图片信息 $info = getimagesize($src); //获取图片扩展名 $type = image_type_to_extension($info[2],false); //动态的把图片导入内存中 $fun = "imagecreatefrom{$type}"; $image = $fun('001.png'); //指定... -
.NET生成PDF 读取PDF文本内容 获取PDF内图片
2019-03-21 14:51:43.NET生成PDF 读取PDF文本内容 获取PDF内图片