精华内容
下载资源
问答
  • 获取图片中文字坐标
    万次阅读
    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提取图片中文字,用到的工具包有PIL,pytesseract,tesseract-ocr 注意: 库的安装相对麻烦一点,一般都是不能直接安装成功的,这里总结了安装过程的一些坑给大家参考。 (1)首先是PIL库安装,有的电脑...
  • 使用百度云识别图片文字(二):获取图片中文字 上一篇文章提到怎样获取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/e1bd77f3

    coding

    需要识别的图片:
    在这里插入图片描述
    代码如下:

    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": "②自然语言处理"
            }
        ]
    }
    

    对比结果,可知虽然有部分错误,但是基本全部识别出来了。
    注意:
    通过我的经验可知对于各种正常的文字字体基本上都可以正常识别,但是对于手写的识别就差强人意了。(公正的手写字体除外)

    展开全文
  • 实现图片的识别和文字定位,在同样的电脑配置需要的时间可以减缩至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的列表项示意图,网络请求的地址,插件及依赖代码架构代码内容MainActivity.javaactivity_main.xmlRecyclerTask.javaNetworkAdapter.javanetworkitem.xmlNetworkJson....
  • 下面小编就为大家分享一篇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格式的文件解析文字图片格式的内容示例代码。
  • java 提取图片中文字,手写文字

    千次阅读 2021-02-26 17:11:38
    /** * 说明:获取文字识别token类 * from:www.fhadmin.org */ public class AuthTextService { /** * 获取权限token * @return 返回示例: * { * "access_token": "24.460da4889caad24cccdb1fea...
  • “涨姿势——教你如何获取图片上的文字” 同事写了一句很美丽的句子,我叫他发了一下给我,我想收藏,结果他却截图,截图,截图 给我,我很方…… 看了看图片,想到了现在的图片识别,我没有什么好的方法能快速...
  • Extract Text – 使用PDFBox,您可以从PDF文件提取Unicode文本。 Split & Merge – 使用PDFBox,您可以将单个PDF文件分成多个文件,并将它们合并为一个文件。 Fill Forms – 使用PDFBox,您可以在文档填写表单...
  • 获取图片文字 如何使用python获取图片文字呢? 关注公众号【轻松学编程】了解更多… 1、通过python的第三方库pytesseract获取 通过pip install pytesseract导入。 1.1、安装tesseract-ocr 先在官网 下载对应操作系统...
  • C#图片识别 pdf转图片图片内容进行识别 提取图片内信息
  • 更多的人是想先实现后理解吧,在这里有一个重要的东西叫做驯化文件目录,少了这个东西的话就很不好操作,话不多说,上代码,首先上场的是解析pdf为图片并保存至自定义文件夹` PdfDocument doc = new PdfDocument...
  • 通过调用百度AI的接口实现提取图片文字的java项目,可用于图片文字识别,身份证信息获取验证,证书内容获取
  • 获取如图的有效内容坐标
  • 识别图片文字颜色

    2018-03-06 16:11:14
    截屏,获取图片文字颜色, 使用了Qt5.6, 读者可以自行更改其它版本, 里面的三种算子都是大众认可的边缘检测,可算是定理了
  • webview长按图片链接类型获分别获取图片和链接的url 2、解决办法 1)、设置webview的OnLongClickListener事件,关键代码如下 companion object { const val LINK_TYPE = 1 const val ...
  • 本文实例讲述了PHP获取photoshop写入图片文字信息的方法。分享给大家供大家参考。具体分析如下: 有些摄影师喜欢把图片的标题,内容,关键词等用photoshop直接写入图片文件里面。 用以下代码可以读取。 $image_info...
  • 1、创建编辑器 UE.getEditor('editor', { initialFrameWidth:"100%" //初始化选项 }) 精简版 UE.getEditor('editor') 2、删除编辑器 UE.getEditor('editor').destroy();...4、获取编辑器内容 U...
  • 获取用户的信息授权弹窗,更改内容的方法  小程序发布前,发现获取用户信息的地方是这样的, (此图片来源于网络,如有侵权,请联系删除! )  然后发现别人的是这样的 (此图片来源于网络,如有侵权,请联系删除! ) ...
  • C#生成PDF 读取PDF文本内容 获取PDF内图片(亲测可用)
  • POI读取word文档的文字内容图片内容

    千次下载 热门讨论 2014-09-04 13:55:55
    POI读取word文档的文字内容图片内容
  • 本文讲述了Android版Intent.ACTION_SEND分享图片文字内容。分享给大家供大家参考,具体如下: 编辑推荐:稀土掘金,这是一个针对技术开发者的一个应用,你可以在掘金上获取最新最优质的技术干货,不仅仅是Android...
  • 主要介绍了C#从windows剪贴板获取并显示文本内容的方法,涉及C#操作剪贴板的相关技巧,非常具有实用价值,需要的朋友可以参考下
  • PHP读取word docx文件中图片文字
  • 主要为大家介绍了Wordpress自动提取内容中第一张图片作缩略图的方法,可通过在模板添加自定义函数实现该功能,是非常实用的技巧,需要的朋友可以参考下
  • //获取图片信息 $info = getimagesize($src); //获取图片扩展名 $type = image_type_to_extension($info[2],false); //动态的把图片导入内存 $fun = "imagecreatefrom{$type}"; $image = $fun('001.png'); //指定...
  • .NET生成PDF 读取PDF文本内容 获取PDF内图片

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 154,743
精华内容 61,897
关键字:

怎样获取图片中的文字内容