百度OCR文字识别的小例子
来源:互联网 发布:数据库原理基本知识点 编辑:程序博客网 时间:2024/05/17 21:38
首先说下,执行结果很令人不满意。。。
下面是官网的API说明
接口地址 :http://apis.baidu.com/apistore/idlocr/ocr
请求方法 :POST
请求参数(header) :
参数名
类型
必填
参数位置
描述
默认值
apikey
string
是
header
API密钥
您自己的apikey
请求参数(bodyParam) :
参数名
类型
必填
参数位置
描述
默认值
fromdevice
string
是
bodyParam
来源,例如:android、iPhone、pc等
pc
clientip
string
是
bodyParam
客户端出口IP
10.10.10.0
detecttype
string
是
bodyParam
OCR接口类型,“LocateRecognize”;“Recognize”;“Locate”;“SingleCharRecognize”。LocateRecognize:整图文字检测、识别,以行为单位;Locate:整图文字行定位;Recognize:整图文字识别;SingleCharRecognize:单字图像识别
LocateRecognize
languagetype
string
否
bodyParam
要检测的文字类型:目前支持 1. CHN_ENG(中英) 2. ENG 3.JAP(日文) 4.KOR(韩文) ,不填写这个字段默认为CHN_ENG
CHN_ENG
imagetype
string
是
bodyParam
图片资源类型, 1.表示经过BASE64编码后的字串,然后需要经过urlencode处理(特别重要);2.图片原文件
1
image
string
否
bodyParam
图片资源,目前仅支持jpg格式,原始
import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import sun.misc.BASE64Encoder;public class Request {public static void main(String[] args){String httpUrl = "http://apis.baidu.com/apistore/idlocr/ocr";String imagePath="图片的路径";String str=encodeImgageToBase64(imagePath);str = str.replace("\r\n", "");
<span style="white-space:pre"></span>str= URLEncoder.encode(str, "utf-8");//很重要的,刚开始就是因为没有加,所以怎么看结果怎么不合理String httpArg = "fromdevice=pc&clientip=172.0.0.1&detecttype=LocateRecognize&"+"languagetype=CHN_ENG&imagetype=1"+"&image="+str;String jsonResult = request(httpUrl, httpArg);System.out.println(jsonResult);}/** * @param urlAll * :请求接口 * @param httpArg * :参数 * @return 返回结果 */public static String request(String httpUrl, String httpArg) { BufferedReader reader = null; String result = null; StringBuffer sbf = new StringBuffer(); try { URL url = new URL(httpUrl); HttpURLConnection connection = (HttpURLConnection) url .openConnection(); connection.setRequestMethod("POST"); connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); // 填入apikey到HTTP header connection.setRequestProperty("apikey", "你的apikey"); connection.setDoOutput(true); connection.getOutputStream().write(httpArg.getBytes("UTF-8")); connection.connect(); InputStream is = connection.getInputStream(); reader = new BufferedReader(new InputStreamReader(is, "UTF-8")); String strRead = null; while ((strRead = reader.readLine()) != null) { sbf.append(strRead); sbf.append("\r\n"); } reader.close(); result = sbf.toString(); } catch (Exception e) { e.printStackTrace(); } return result;}/** * 将本地图片进行Base64位编码 * * @param imgUrl * 图片的url路径,如d:\\中文.jpg * @return */ public static String encodeImgageToBase64(String imagePath) {// 将图片文件转化为字节数组字符串,并对其进行Base64编码处理 // 其进行Base64编码处理 byte[] data = null; // 读取图片字节数组 try { File imageFile = new File(imagePath); InputStream in = new FileInputStream(imageFile); data = new byte[in.available()]; in.read(data); in.close(); } catch (IOException e) { e.printStackTrace(); } // 对字节数组Base64编码 BASE64Encoder encoder = new BASE64Encoder(); return encoder.encode(data);// 返回Base64编码过的字节数组字符串 } }
- 百度OCR文字识别的小例子
- 百度OCR文字识别PHP的Demo
- 百度OCR文字识别-身份证识别
- 百度ocr文字识别编码时遇到的错误
- 用百度AI的OCR文字识别结合PHP实现了图片的文字识别功能
- JAVA实现百度OCR文字识别功能
- JAVA实现百度OCR文字识别功能
- android的文字识别OCR
- 例子:照片的OCR识别
- 利用百度OCR的node.js的接口实现文字识别的功能
- PHP:基于百度大脑api实现OCR文字识别
- 阿里 旷视 百度 OCR图片文字识别功能对比
- 最简单的屏幕OCR文字识别
- 最简单的屏幕OCR文字识别
- 最简单的屏幕OCR文字识别
- 最简单的屏幕OCR文字识别
- OCR文字识别软件的最佳选择
- OCR文字识别软件的最佳选择
- Java多线程 -- 线程的栈模型
- OpenWrt(来自MTK的源码) 内存,交换机相关配置
- 安装Supervisor
- 树的最小支配集,最小点覆盖与最大独立集 - smartyfh
- 二分查找和循环数组查找
- 百度OCR文字识别的小例子
- 美图秀秀怎么无缝拼图
- 将汉字转化为拼音的NSString类目category
- OpenVAS漏洞扫描基础教程之OpenVAS概述及安装及配置OpenVAS服务
- Django 静态文件配置
- 星网锐捷交换机常用命令(不断更新中)
- plsql中的异常处理
- 超详细的vim+cscope 的使用规则
- MFC单文档嵌入对话框