linux java tesseract_Linux + Java 实现图文识别,图文提取

附带Controlle接口写法

/**

* 返回状态和内容的实体类

*/

@Data

@AllArgsConstructor

@NoArgsConstructor

public class BaseResult {

private Integer code; // 0:请求失败 1:请求成功

private Object data; //错误的原因或者正确的内容

}

/**

* 图文提取

* @param file

* @return文件识别的结果

*/

@RequestMapping(value = "imgCode",method = RequestMethod.POST)

public BaseResult imgCode(@RequestParam("file") MultipartFile file) {

BaseResult baseResult = new BaseResult();

File file1 = null;//创建临时文件

if (!file.isEmpty()) {//首先判断是不是空的文件

int begin = file.getOriginalFilename().indexOf(".");//对文文件的全名进行截取然后在后缀名进行删选。

int last = file.getOriginalFilename().length();

String a = file.getOriginalFilename().substring(begin, last);//获得文件后缀名

if (a.endsWith(".jpg") || a.endsWith(".png")) {

file1 = new File("tessdata/"+ UUID.randomUUID().toString().replaceAll("-","")+a);//临时文件名

try {

FileUtils.copyInputStreamToFile(file.getInputStream(), file1);

ITesseract instance = new Tesseract();

instance.setDatapath("D:\\Download\\tessdata");//外部中文包的路径

instance.setLanguage("chi_sim");//中文包名

String result = instance.doOCR(file1);

baseResult.setCode(1);

baseResult.setData(result);

} catch (Exception e) {

baseResult.setCode(0);

baseResult.setData("操作失败"+e.getMessage());

}

} else {

baseResult.setCode(0);

baseResult.setData("文件格式有误");

}

}

if (file1 != null) {

file1.delete();//如果临时文件存在,就删除文件

}

return baseResult;

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值