OCR测试类:
/**
* 测试ocr识别
*/
@Test
public void testOcr() {
byte[] imageBytes = new byte[0];
try {
// 获取文件字节数组
imageBytes = DownLoadPicUtil.readFileByBytes("d:\\image\\1.jpg");
} catch (IOException e) {
e.printStackTrace();
}
// 获取百度ocr客户端
AipOcr client = BaiduOcrUtils.getAipOcr();
// ocr识别
JSONObject response = client.basicGeneral(imageBytes, new HashMap<String, String>());
JSONArray jsonArray = response.getJSONArray("words_result");
System.out.println(jsonArray.toString());
}
读取本地文件为byte数组:
public static byte[] readFileByBytes(String filePath) throws IOException {
File file = new File(filePath);
if(!file.exists()) {
throw new FileNotFoundException(filePath);
} else {
ByteArrayOutputStream bos = new ByteArrayOutputStream((int)file.length());
BufferedInputStream in = null;
try {
in = new BufferedInputStream(new FileInputStream(file));
short bufSize = 1024;
byte[] buffer = new byte[bufSize];
boolean len = false;
int len1;
while(-1 != (len1 = in.read(buffer, 0, bufSize))) {
bos.write(buffer, 0, len1);
}
byte[] var7 = bos.toByteArray();
return var7;
} finally {
try {
if(in != null) {
in.close();
}
} catch (IOException var14) {
var14.printStackTrace();
}
try {
if(bos != null) {
bos.close();
}
} catch (IOException var14) {
var14.printStackTrace();
}
}
}
}
示例图片:
识别结果: