精华内容
下载资源
问答
  • 获取图片中文字坐标

    万次阅读 2018-05-22 11:47:49
    tesseract环境已经搭建好情况下,获取图片中文字坐标 # -*- coding: utf-8 -*- """ 根据图片取得文字坐标 """ import os def ...

    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
    
    展开全文
  • 使用百度云识别图片文字(二):获取图片中文字 上一篇文章提到怎样获取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": "②自然语言处理"
            }
        ]
    }
    

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

    展开全文
  • 获取图片文字 如何使用python获取图片文字呢? 关注公众号【轻松学编程】了解更多… 1、通过python的第三方库pytesseract获取 通过pip install pytesseract导入。 1.1、安装tesseract-ocr 先在官网 下载对应操作系统...

    获取图片文字

    如何使用python获取图片文字呢?

    关注公众号【轻松学编程】了解更多…

    1、通过python的第三方库pytesseract获取

    通过pip install pytesseract导入。

    1.1、安装tesseract-ocr

    先在官网 下载对应操作系统的tesseract-ocr ,比如我现在在windows系统下,就下载exe文件安装,可点击这里下载,下载后运行exe后选择一个目录安装,这个目录需要记住,后面中需要用到,比如我的目录为D:\ruanjian\Tesseract-OCR

    1.2 下载训练好的语言包

    地址 ,这里想提取图片中的中文字,于是下载chi_sim.traineddata,下载到上面安装tesseract-ocr目录中的文件夹tessdata中,如图:

    在这里插入图片描述

    1.3 代码

    import pytesseract
    from PIL import Image
    
    # 打开一张图片
    image = Image.open(r'images\82-望岳.png')
    pytesseract.pytesseract.tesseract_cmd = r'D:\ruanjian\Tesseract-OCR\tesseract.exe'
    tessdata_dir_config = r'--tessdata-dir "D:\ruanjian\Tesseract-OCR\tessdata"'
    # 提取中文,如果是提取英文,则先下载语言包,然后设置以下参数lang='eng'即可。
    code = pytesseract.image_to_string(image, lang='chi_sim', config=tessdata_dir_config)
    
    print(code)
    

    比如我需要提取以下图片文字:

    在这里插入图片描述

    处理结果:

    在这里插入图片描述

    这种方式优点就是可以无限次运行,只要配置好电脑环境就可以,缺点就是不能混语言。比如图片中夹杂中文与英文,提取效果就不是很好。

    2、使用百度接口

    先到百度智能云 创建一个应用获取APP_ID、API_KEY、SECRET_KEY

    然后下载python的SDK,下载后使用pip install aip-python-sdk-2.2.15.zip安装

    import base64
    import requests
    import time
    import ast
    from aip import AipOcr
    
    # https://console.bce.baidu.com/ai/#/ai/ocr/overview/index
    """ 你的 APPID AK SK """
    APP_ID = '你的'  
    API_KEY = '你的'
    SECRET_KEY = '你的'
    # 百度api客户端
    CLIENT = AipOcr(APP_ID, API_KEY, SECRET_KEY)
    # 请求头
    HEADERS = {
        'Content-Type': 'application/x-www-form-urlencoded'
    }
    # 获取令牌的url
    URL = 'https://aip.baidubce.com/oauth/2.0/token'
    ACCESS_TOKEN = None
    # 用于记录获取令牌的开始时间
    SRART_TIME = time.time()
    
    def get_file_content(filePath):
        # 获取文件内容
        with open(filePath, 'rb') as fp:
            return fp.read()
    
    
    def get_access_token():
        # 获取令牌
        global ACCESS_TOKEN, SRART_TIME, URL
        response = requests.post(URL,
                                 {'grant_type': 'client_credentials', 'client_id': API_KEY, 'client_secret': SECRET_KEY})
        ACCESS_TOKEN = ast.literal_eval(response.content.decode('utf-8'))['access_token']
        SRART_TIME = time.time()
    
    
    def req_url(image):
        # 调用百度AI接口获取图像识别后的内容,调用接口次数为每日5万次
        global ACCESS_TOKEN, SRART_TIME, HEADERS
    
        if not ACCESS_TOKEN or (time.time() - SRART_TIME > 7000):
            get_access_token()
        response = requests.post('https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=%s' % ACCESS_TOKEN,
                                 {'image': image}, headers=HEADERS)
        return response.content.decode('utf-8')
    
    
    if __name__ == '__main__':
        # 图片内容
        image = get_file_content(r'image\望岳.png')
        # 获取分析结果
        ret = req_url(base64.b64encode(image).decode())
        # 字符串转字典
        ret = ast.literal_eval(ret)
        if 'words_result' in ret:
            for words in ret['words_result']:
                print(words['words'])
    

    输出:
    在这里插入图片描述

    使用场景

    可以利用这些图片识别给名片分类、获取图片上的关键信息、车牌识别等。

    后记

    【后记】为了让大家能够轻松学编程,我创建了一个公众号【轻松学编程】,里面有让你快速学会编程的文章,当然也有一些干货提高你的编程水平,也有一些编程项目适合做一些课程设计等课题。

    也可加我微信【1257309054】,拉你进群,大家一起交流学习。
    如果文章对您有帮助,请我喝杯咖啡吧!

    公众号

    公众号

    赞赏码

    156789.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xtX2lzX2Rj,size_16,color_FFFFFF,t_70)

    关注我,我们一起成长~~

    展开全文
  • 实现图片的识别和文字定位,在同样的电脑配置需要的时间可以减缩至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.总结
                由于时间仓促,并没有对语言包进行过多的训练,但识别效果还是不错的,如果图片出现比较多的色块,识别效果并没那么好,当然,你可以通过代码对图片的进行灰度化处理,
             这样也可以有很好的识别效果。由于自身所从事的手机自动化工作,为了更好地处理手机屏幕上的图片,获取到更加精准的手机屏幕信息,减轻工作强度,所以此代码操作
             适用于手机截屏的图片,你也可以识别其他图片的信息。

    展开全文
  • python3实现获取图片中文字含中文

    千次阅读 2019-01-04 11:26:36
    #上面都是导包,只需要下面这一行就能实现图片文字识别 text=pytesseract.image_to_string(Image.open( 'show.jpg' ),lang= 'chi_sim' ) #设置为中文文字的识别 #text=pytesseract.image_to_string(Image.open('...
  • 用 ps 获取设计图的大段文字内容

    千次阅读 2018-06-18 19:19:06
    上周遇到这么个情况,项目的设计图有大段的文字,但是我这么个 ps 菜鸟也不知道用 ps 文字获取,生生手打全部文字,浪费了很多的时间,后来总监看见了,就教了一下用 ps 文字去选中复制psd文字内容,也算...
  • “涨姿势——教你如何获取图片上的文字” 同事写了一句很美丽的句子,我叫他发了一下给我,我想收藏,结果他却截图,截图,截图 给我,我很方…… 看了看图片,想到了现在的图片识别,我没有什么好的方法能快速...
  • 图片的文字水印文章分为两个部分,即图片拍摄的时间、拍摄地点的经纬度等信息的获取图片文字水印的添加;看完本文章能够利用java对图片实现添加文字水印,效果如下图所示;所需要的资料,点击资料链接自行下载,如...
  • iOS 通过url获取网页文字内容

    千次阅读 2018-04-02 16:46:53
    今天突然有一个需求, 第二个页面要显示...这里就不详细说怎么拿到title或者图片之类的了,我的需求是拿到文章内容文字部分拿来显示三排就够了:①拿到网页内容,很简单一句代码NSString *htmlString = [NSString str...
  • 1、创建编辑器 UE.getEditor('editor', { initialFrameWidth:"100%" //初始化选项 }) 精简版 UE.getEditor('editor') 2、删除编辑器 UE.getEditor('editor').destroy();...4、获取编辑器内容 U...
  • 更多的人是想先实现后理解吧,在这里有一个重要的东西叫做驯化文件目录,少了这个东西的话就很不好操作,话不多说,上代码,首先上场的是解析pdf为图片并保存至自定义文件夹` PdfDocument doc = new PdfDocument...
  • div添加一个弹出事件: $(document).ready(function () { $("#marked-area").mouseup(function (e) { $scope.mark.saveSelectionText(); }); }); ...
  • Python识别图片指定区域文字内容

    万次阅读 2019-02-27 17:08:05
    Python批量识别图片指定区域文字内容简介所需Python模块Python代码 简介 对于一张图片,需求识别指定区域的内容 截取原始图上的指定图片当做模板 根据模板相似度去再原始图片上识别准确坐标 根据坐标剪切出指定位置...
  • java解析docx获取文字图片并识别图片准确位置需求简述功能模块版本1生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的...
  • 在对监控录像进行分析时,希望直接获取到视频上面的时间信息,以视频上的时间戳对关心的帧命名等,本文通过调用百度文字识别API获取图片上的文字信息(主要是时间+地点)。 主要步骤: 1. 前往百度API中心申请...
  • 正则匹配获取富文本内所有图片第一第二第三 第一 我们要了解,富文本编辑器从前端传过来以后内容格式需要处理,如果不处理,可能在正则匹配的时候无法匹配到想要的内容,可能会是空的。 $sContent = $_POST[...
  • 获取图片: IDataObject iData = Clipboard.GetDataObject(); if (iData.GetDataPresent(DataFormats.MetafilePict)) { var img = Clipboard.GetImage(); picBox.Tag = Guid.NewGuid(); picBox.Image = img; } ...
  • POI读取word文档的文字内容图片内容

    千次下载 热门讨论 2014-09-04 13:55:55
    POI读取word文档的文字内容图片内容
  • 从身份证图片获取文字信息

    千次阅读 2016-07-19 15:59:01
    最近信息公司有个项目,需要收集商户的身份信息。当时考虑把功能做在微信里面代替做在app里面,app需要开发二个... 这二天看了一个阿凡达数据API接口,功能还算强大,完全能满足直接拍照身份证获取身份证的信息,...
  • Python识别图片中文字

    万次阅读 多人点赞 2020-05-17 12:49:59
    path = 'text_img/' # 获取图片路径列表 imgs = [path + i for i in os.listdir(path)] # 打开文件 f = open('text.txt', 'w+', encoding='utf-8') # 将各个图片的路径写入text.txt文件当中 for img in imgs: f....
  • * $order 要获取哪张图片,ALL所有图片,0第一张图片 /* function getImgs($content,$order='ALL'){ $pattern = "/<img .*?src=[\'|\"](.*?(?:[\.gif|\.jpg]))[\'|\"].*?[\/]?>/"; preg_match_all($patte.....
  • 使用百度文字识别API进行图片中文字的识别

    千次阅读 多人点赞 2019-06-17 22:12:15
    今天,为了满足我女朋友作业的需求,我使用Python制作了一个图片文字的小应用。 一. 申请Baidu通用文字识别接口。 1.先在百度AI开放平台注册账号(点击这里进入百度智能云)。一般使用百度账号即可。 2.注册成功...
  • 一张带有文字的图片,应该怎么获取它的文字内容,用c或者c++的方式
  • 转载于:https://www.cnblogs.com/zizaiwuyou/p/10062684.html
  • java读取pdf文件的图片文字内容

    万次阅读 2017-11-02 14:37:43
    // 获取页面图片信息 // Map imgs = res.getImages(); // if (null != imgs) { // Set keySet = imgs.keySet(); // Iterator it = keySet.iterator(); // while (it.hasNext()) { // Object obj = it.next();...
  • Android Studio添加动态的数据库Database Inspector来可视化操作数据库 二、使用步骤 1.添加插件Database Inspector import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as ...
  • 有的时候我们想获取图片上的文字,又不想手动的敲出来,想借助应用软件, 把图片上的文字获取出来,存到某个可编辑的文件,例如txt, 这样就可以方便我们使用。
  • Python 利用百度文字识别 API 识别并提取图片中文字

    万次阅读 多人点赞 2018-06-23 20:37:00
    Python 利用百度文字识别 API 识别并提取图片中文字 利用百度 AI 开发平台的 OCR 文字识别 API 识别并提取图片中文字。首先需注册获取 API 调用的 ID 和 key,步骤如下: 打开百度AI开放平台,进入控制台的...
  • java解析pdf获取pdf中内容信息

    万次阅读 多人点赞 2019-04-28 18:31:13
    java解析pdf获取pdf中内容信息 今日项目需要将pdf的数据获取到进行校验数据,于是前往百度翻来覆去找到以下几种办法,做个笔记,方便日后查询。 1 使用开源组织提供的开源框架 pdfbox api ; ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 134,814
精华内容 53,925
关键字:

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