`
raymond.chen
  • 浏览: 1441302 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

使用百度API识别图片文字

    博客分类:
  • Java
 
阅读更多

1、注册百度账号  https://login.bce.baidu.com/

2、定位到 产品服务 / 文字识别 - 概览 页面

3、创建一个应用

4、下载相关的SDK包,在工程项目中引用。如果是maven工程,直接在pom.xml文件中添加依赖包

        <dependency>

                <groupId>com.baidu.aip</groupId>

                <artifactId>java-sdk</artifactId>

                <version>4.6.1</version>

        </dependency>

 

5、编写测试代码

public class BaiduAPITest {
    public static final String APP_ID = "你的应用的 AppID";
    public static final String API_KEY = "你的应用的 API Key";
    public static final String SECRET_KEY = "你的应用的 Secret Key";
	
    public static void main(String[] args) {
    	String imagePath = "doc\\pic2.jpg";
    	System.out.println(generalString(imagePath, true));
	}
    
    /**
     * 识别图片上的文本内容,转成文字字符串返回
     * @param imagePath 图片文件的路径
     */
    private static String generalString(String imagePath, boolean isNewline){
    	try{
    		HashMap<String, String> options = new HashMap<String, String>();
            options.put("language_type", "CHN_ENG"); //CHN_ENG:中英文混合, ENG:英文
            options.put("detect_direction", "true"); //是否检测图像朝向,默认不检测,即:false
            options.put("detect_language", "true"); //是否检测语言,默认不检测。
            options.put("probability", "false"); //是否返回识别结果中每一行的置信度
            
            //通用文字识别
        	JSONObject jsonObject = getAipOcr().basicGeneral(imagePath, options); 
        	String result = mergeString(jsonObject, isNewline);
        	return result;
        }catch(Exception ex){
        	ex.printStackTrace();
        }
    	
    	return "";
    }
    
    /**
     * AipOcr最好单例模式使用
     */
    private static AipOcr getAipOcr(){
        AipOcr client = new AipOcr(APP_ID, API_KEY, SECRET_KEY);
        client.setConnectionTimeoutInMillis(2000);
        client.setSocketTimeoutInMillis(60000);
        return client;
    }
    
    /**
     * 从返回的JSONObject对象中取出需要的文字内容,组装成一个大文本内容
     * @param jsonObject JSONObject对象
     * @param isNewline 每个识别结果字符串的后面是否增加换行符
     */
    private static String mergeString(JSONObject jsonObject, boolean isNewline){
    	if(jsonObject == null){
    		return "";
    	}
    	
    	if(jsonObject.has("words_result") && jsonObject.has("words_result_num")){
    		int wordsResultNum = jsonObject.getInt("words_result_num");
    		if(wordsResultNum > 0){
    			StringBuilder sb = new StringBuilder();
    			
    			JSONArray jsonArray = jsonObject.getJSONArray("words_result");
    			int len = jsonArray.length();
    			for(Iterator<Object> it=jsonArray.iterator(); it.hasNext();){
    				JSONObject obj = (JSONObject)it.next();
    				if(isNewline){
    					sb.append(obj.get("words") + "\n");
    				}else{
    					sb.append(obj.get("words"));
    				}
    			}
    			
    			return sb.toString();
    		}
    	}else{
    		return jsonObject.toString();
    	}
    	
    	return null;
    }
}

 

6、准备一张jpg图片文件



 

7、执行测试代码,查看效果

//接口返回的内容
{
    "words_result": [
        {"words": "命令:yum- y install libpng12"},
        {"words": "做完这些我们就可以直接使用Tess4进行图片识别了,目前我只试过字母和数字的"},
        {"words": "子,有点渣,请诸位大神不要吐槽,是直接传入图片ur地址解析的"},
        {"words": "public static String imagetotel(String imgurl)"},
        {"words": "Itesseract instance=new Tesseracto);"},
        {"words": "URL url=new URL(imgurl);"}
    ],
    "direction": 0,
    "words_result_num": 6,
    "language": 3,
    "log_id": 5228016013525318579
}

//处理后的内容
命令:yum- y install libpng12
做完这些我们就可以直接使用Tess4进行图片识别了,目前我只试过字母和数字的
子,有点渣,请诸位大神不要吐槽,是直接传入图片ur地址解析的
public static String imagetotel(String imgurl)
Itesseract instance=new Tesseracto);
URL url=new URL(imgurl);

 

  • 大小: 26.6 KB
分享到:
评论

相关推荐

    delphi调用百度API实现图片文字识别

    1. SSL问题,用的是indyhttp控件,使用SSL时需要添加 IdSSLIOHandlerSocketOpenSSL1 组件 然后 idhttp的iohandler 属性指向 IdSSLIOHandlerSocketOpenSSL1。 然后 SSLoptions 的method属性改为 sslvSSLv23 然后再...

    访问百度api测试识别图片文字(易语言)

    在“访问百度api测试识别图片文字(易语言)”这个项目中,开发者使用易语言与百度API进行交互,获取并解析JSON数据,最终将识别出的文字展示在编辑框中。 首先,我们需要了解百度API。百度提供了丰富的AI服务,...

    基于百度API的图片文字识别程序

    该程序是本人开发的,基于百度API的图片文字识别程序,需要联网使用。注意,手机或相机拍的图片尺寸需要重新调整,因为图片尺寸太大不能正确识别。调整方式是用画图打开图片,然后缩小到正常尺寸,然后重新截图,...

    python调用百度aip识别图片文字

    可以识别图片文字并存储为文本

    基于Java调用百度OCR文字识别API实现图片文字识别软件

    【作品名称】:基于Java调用百度OCR文字识别API实现图片文字识别软件 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】:...

    上传发票图片并调用百度API,识别增值税发票文字内容

    上传发票图片并调用百度API,识别增值税发票文字内容; C# Winform程序,控件采用的是DevExpress,目前只调用了增值税发票一个接口,其他内容请使用者自行研究; ***请用VS2019打开 ***使用者需要自己去百度申请Api...

    易语言识别图片文字1111

    在“易语言识别图片文字1111”这个主题中,我们主要探讨的是如何使用易语言来实现图像中的文字识别功能。这项技术在很多应用场景中都非常有用,比如文档扫描、屏幕截图的文字提取、二维码解码等。 图片文字识别...

    基于 Go 实现的百度OCR文字识别API

    【作品名称】:基于 Go 实现的百度OCR文字识别API 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】: 参数说明 //...

    百度API OCR文字识别

    在这个例子中,我们关注的是百度API的OCR服务,它提供了一种高效且准确的方式来识别图像中的文字,这对于处理大量纸质文档、扫描件或者从图片中提取文字信息非常有用。以下是对“百度API OCR文字识别”这一主题的...

    百度OCR 图片识别文字

    2. 百度AI开放平台:百度提供了OCR服务的API接口,开发者可以通过调用这些接口实现图片文字识别功能。该平台提供了多种类型的OCR服务,如通用文字识别、身份证识别、营业执照识别等,满足不同应用场景的需求。 3. ...

    基于PyQt5做界面,使用百度文字识别API接口来实现识别图片中的文字,可以采用截图和浏览图片文件方式进行

    【作品名称】:基于PyQt5做界面,使用百度文字识别API接口来实现识别图片中的文字,可以采用截图和浏览图片文件方式进行 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、...

    百度图片文字识别接口

    在这个场景下,我们关注的是百度提供的图片文字识别API接口。百度作为中国领先的科技公司之一,其在人工智能领域,尤其是自然语言处理和计算机视觉方面有着深厚的技术积累。他们的OCR服务能够帮助开发者和用户从图片...

    基于Java 调用百度API的图片文字识别(支持中文,英文和中英文混合)

    【作品名称】:基于Java 调用百度API的图片文字识别(支持中文,英文和中英文混合) 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 ...

    Delphi 12 控件之Delphi调用百度API实现图片文字识别1bd26-main.zip

    Delphi调用百度API实现图片文字识别1bd26-main.zip

    uni-app 调用百度OCR文字识别 并 实现base64转码 (完美解决)

    本文将会介绍如何使用百度AI开放平台中的文字识别服务来识别图片中的文字。百度AI开放平台的访问网址为:百度AI开放平台,为了能够使用该平台提供的AI服务,你需要事先注册一个百度账号。 首先先注册一个百度账号,...

    百度OCR高精度文字识别利用php进行对接图片转换文字在线识别文字

    在本项目中,我们将探讨如何使用PHP语言对接百度OCR服务,实现在线文字识别和图片转文字的功能。 首先,我们需要了解百度OCR API的基本概念。百度OCR提供了多种类型的识别服务,包括通用文字识别、表格识别、身份证...

    Java调用百度图像识别接口

    在本文中,我们将深入探讨如何使用Java调用百度的图像识别接口,这是一个强大的工具,能够对图像进行物体和场景的智能识别。以下是一系列详细步骤和技术要点: 1. **创建百度AI账号并获取API Key和Secret Key**: ...

    用VB6.0编写的基于百度ai的OCR文字识别

    本教程将详细介绍如何使用经典的Visual Basic 6.0(简称VB6.0)编程语言,结合百度AI的OCR服务来实现高精度的文字识别功能。 **1. OCR技术概述** OCR是一种将图像中的印刷或手写文本转换为机器编码文本的技术。它...

    (C#+WPF)调用百度图像识别API简单实例.zip

    在这个项目中,WPF将被用来设计用户界面,包括"选择图片"和"识别图片"这两个按钮。 在项目中,`WpfApp8.sln`是一个解决方案文件,包含了整个项目的配置和依赖关系。打开这个文件,Visual Studio会加载所有相关的...

    可以直接使用的百度文字识别源代码(车牌识别)

    标题中的“可以直接使用的百度文字识别源代码(车牌识别)”表明这是一个关于利用百度OCR技术进行车牌识别的项目。这个项目提供了可以直接运行的源代码,适用于Visual Studio 2013开发环境。开发者需要对源代码进行...

Global site tag (gtag.js) - Google Analytics