Java 几行代码提取图片文字,过个厉害了。。

coding=utf-8

from flask import Flask, request

import os

import datetime

import time

app = Flask(name)

def get_time_stamp():

times = datetime.datetime.now().strftime(‘%Y-%m-%d %H:%M:%S’)

array = time.strptime(times, “%Y-%m-%d %H:%M:%S”)

time_stamp = int(time.mktime(array))

return time_stamp

@app.route(‘/image/extract’, methods=[‘POST’])

def pure_rec():

file = request.files.get(‘file’)

ts = str(get_time_stamp())

up_path = os.path.join(ts + file.filename)

file.save(up_path)

cmd = “tesseract “+up_path+” " + ts + " -l chi_sim”

print(cmd)

os.system(cmd)

with open(ts+“.txt”, ‘r+’, encoding=“utf-8”) as f:

result = f.read()

return result

if __na

需要文中资料的朋友,可以加我\/信获取:vip1024b 备注Java

me__ == ‘main’:

app.run(debug=True)

五、程序实现(Java)


不需要任何引入第三方jar包,搭建一个简单的springboot web项目就可以了,没有其他额外的依赖。

Spring Boot 基础就不介绍了,推荐下这个实战教程: https://www.javastack.cn/categories/Spring-Boot/

Controller:

package com.lbh.web.controller;

/*

  • Copyright@lbhbinhao@163.com

  • Author:liubinhao

  • Date:2020/11/23

  • ++++ ______ @author liubinhao ______ ______

  • +++/ /| / /| / /|

  • +// | // | /_____/ |

  • | | | | | | | | |

  • | | | | | |________| | |

  • | | | | | / | | |

  • | | | | |/___________| | |

  • | | |___________________ | |____________| | |

  • | | / / | | | | | | |

  • | |/ _________________/ / | | / | | /

  • |_________________________|/b ||/ ||/

*/

import org.springframework.web.bind.annotation.PostMapping;

import org.springframework.web.bind.annotation.RequestParam;

import org.springframework.web.bind.annotation.RestController;

import org.springframework.web.multipart.MultipartFile;

import java.io.BufferedReader;

import java.io.File;

import java.io.IOException;

import java.io.InputStreamReader;

@RestController

public class LiteralExtractController {

@PostMapping(“/image/extract”)

public String reg(@RequestParam(“file”)MultipartFile file) throws IOException {

String result = “”;

String filename = file.getOriginalFilename();

File save = new File(System.getProperty(“user.dir”)+“\”+filename);

if (!save.exists()){

save.createNewFile();

}

file.transferTo(save);

String cmd = String.format(“tesseract %s stdout -l %s”,System.getProperty(“user.dir”)+“\”+filename,“chi_sim”);

result = cmd(cmd);

return result;

}

public static String cmd(String cmd) {

BufferedReader br = null;

try {

Process p = Runtime.getRuntime().exec(cmd);

br = new BufferedReader(new InputStreamReader(p.getInputStream()));

String line = null;

StringBuilder sb = new StringBuilder();

while ((line = br.readLine()) != null) {

sb.append(line + “\n”);

}

return sb.toString();

} catch (Exception e) {

e.printStackTrace();

}

finally

{

if (br != null)

{

try {

br.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}

return null;

}

}

哈哈哈,还有帅气的程序logo。

六、实验测试


很简单二十多行代码就完成了,看看效果怎么样吧。

测试一图片:

测试一结果:

测试二图片:

测试二结果:

perfect,识别的很准确,第二个测试全部是英文字符的时候我们采用了中文训练的数据集,虽然也很好的识别了,但是速度会慢很多。

七、总结


图片识别在当今网络技术领域是非常热门的一块,而这次完成的这个程序完全是依赖别人开源框架来完成了这个技术实现,在应用层面这是成功的,但是本质上并没有实际算法,技术核心上的东西,如果只关心应用层开发上述解决了我们计算机在规则字符识别上的问题。

最后的话

无论是哪家公司,都很重视Spring框架技术,重视基础,所以千万别小看任何知识。面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。
同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,好了希望这篇文章对大家有帮助!

部分截图:
在这里插入图片描述

术领域是非常热门的一块,而这次完成的这个程序完全是依赖别人开源框架来完成了这个技术实现,在应用层面这是成功的,但是本质上并没有实际算法,技术核心上的东西,如果只关心应用层开发上述解决了我们计算机在规则字符识别上的问题。

最后的话

无论是哪家公司,都很重视Spring框架技术,重视基础,所以千万别小看任何知识。面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。
同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,好了希望这篇文章对大家有帮助!

部分截图:
[外链图片转存中…(img-gbnQYMG3-1716309814783)]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值