前言

🍊缘由

图片识别文字,咱用java也可以

通过java+百度ocr,实现一个截图或上传图片,图片识别文字的小工具。并通过exe4j工具将jar包封装成exe可执行桌面文件,方便使用及学习。

java离线图文高精度识别 java ocr图片识别_java


🍍 Tip

一位特别的老友即将在2023年10月26日年满30周岁,愿平安喜乐

java离线图文高精度识别 java ocr图片识别_百度_02


🎁快速链接

公众号:【JavaDog程序狗】
关注公众号,发送 ocr ,无任何套路即可获得

java离线图文高精度识别 java ocr图片识别_Java_03


🥝成果初展

可执行的ocr-java.exe文件

java离线图文高精度识别 java ocr图片识别_百度_04

图片识别

java离线图文高精度识别 java ocr图片识别_java_05

选择图片

java离线图文高精度识别 java ocr图片识别_java离线图文高精度识别_06

截图

java离线图文高精度识别 java ocr图片识别_百度_07


🎯主要目标

实现3大重点

1. Java Swing页面基础布局
2. 百度ocr使用方法
3. exe4j工具如何将jar打成exe文件

正文

🍋前置条件

Java环境(必备)

后端以Java Swing为框架基础,所以Java基础是前置条件

java离线图文高精度识别 java ocr图片识别_Java_08

百度ocr(必须)

  • 登录百度云官网,点击【立即使用】

https://cloud.baidu.com/product/ocr.html

java离线图文高精度识别 java ocr图片识别_java_09

  • 根据提示步骤进行无脑申请免费试用

java离线图文高精度识别 java ocr图片识别_Java_10

  • 申请完成,可在线调试

java离线图文高精度识别 java ocr图片识别_java离线图文高精度识别_11

java离线图文高精度识别 java ocr图片识别_java离线图文高精度识别_12

  • 【通用文字识别-标准版】在线测试

java离线图文高精度识别 java ocr图片识别_Java_13

exej(非必须)

将jar打包成可直接运行的exe文件,如果不打包可以不掌握


🔆技术栈

后端

插件

版本

用途

jdk

1.8

java环境

lombok

1.18.12

代码简化插件

maven

3.6.3

包管理工具

BeautyEye

1.0.0

Java Swing 跨平台外观实现

hutool

5.5.8

Java工具类库

okhttp3

4.9.3

网络请求框架

json

20160810

JSON解析工具

slf4j

2.0.7

日志类库


🌽重点解析

Java Swing页面基础布局

1. 代码结构

java离线图文高精度识别 java ocr图片识别_java_14

2. 初始化容器

java离线图文高精度识别 java ocr图片识别_Java_15

3. 屏幕选择截图

java离线图文高精度识别 java ocr图片识别_百度_16

4. 选择图片文件

java离线图文高精度识别 java ocr图片识别_java离线图文高精度识别_17

5. 图片识别文字

java离线图文高精度识别 java ocr图片识别_百度_18


百度ocr配置

1. 获取应用配置参数

https://console.bce.baidu.com/ai/#/ai/ocr/app/list

java离线图文高精度识别 java ocr图片识别_百度_19

2. 设置参数

将上方的找到的API_KEYSECRET_KEY放置OcrUtil工具类中

java离线图文高精度识别 java ocr图片识别_java_20

3. 运行调试

启动java程序即可

java离线图文高精度识别 java ocr图片识别_Java_21

  1. 启动成果

java离线图文高精度识别 java ocr图片识别_java_22


将java项目打包成jar

1. 模块设置

【右击】项目根目录ocr-java-master,【点击】选中Open Module Settings

java离线图文高精度识别 java ocr图片识别_java离线图文高精度识别_23

2. 打包配置
  • 【点击】左侧Artifacts,新增打包配置

java离线图文高精度识别 java ocr图片识别_Java_24

  • 配置主启动类,并【点击】OK

java离线图文高精度识别 java ocr图片识别_java_25

  • 指定jar输出路径Output directory【点击】OK或者Apply即可配置成功

java离线图文高精度识别 java ocr图片识别_java离线图文高精度识别_26

3. 测试打包
  • 点击idea工具栏,Build=>Build Artifacts

java离线图文高精度识别 java ocr图片识别_java离线图文高精度识别_27

  • Action选择Build即可

java离线图文高精度识别 java ocr图片识别_java离线图文高精度识别_28

4. 查看打包结果
  • 到上方配置的输出路径查看jar包

java离线图文高精度识别 java ocr图片识别_java离线图文高精度识别_29

5. 测试jar包是否可用

在当前路径下,使用命令启动,展示页面即可

java -jar ocr-java-master.jar

java离线图文高精度识别 java ocr图片识别_Java_30


exe4j将jar打包exe

1. 什么是exe4j

exe4j 是一个帮助你集成 Java 应用程序到 Windows 操作环境的 java 可执行文件生成工具,无论这些应用是用于服务器,还是图形用户界面(GUI)或命令行的应用程序。exe4j 帮助你以一种安全的方式启动你的 java 应用程序,来显示本地启动画面,检测及发布合适的 JRE 和 JDK,以及进行启动时所发生的错误处理等。

2. 下载exe4j

https://exe4j.apponic.com/download/

java离线图文高精度识别 java ocr图片识别_java_31

3. 安装exe4并打开
  • 无脑安装就可,然后打开软件

java离线图文高精度识别 java ocr图片识别_java离线图文高精度识别_32

4. 将jar打包成exe

按照exe4j左测步骤进行打包流程

java离线图文高精度识别 java ocr图片识别_百度_33

  • 1.Welcome
    姓名、公司随便录入,许可证密钥,网上百度一个即可,填完即可【点击】下一步

java离线图文高精度识别 java ocr图片识别_java_34

  • 2.Project type
    选择项目类型,JAR in EXE mode,【点击】下一步

java离线图文高精度识别 java ocr图片识别_java_35

  • 3.Application info
    录入应用名,并设置输出路径,【点击】下一步

java离线图文高精度识别 java ocr图片识别_java_36

  • 4.Executable info
    配置对应文件名、打包后图、选择64-bit可执行文件的体系结构、配置可执行清单的选项,【点击】下一步

java离线图文高精度识别 java ocr图片识别_java离线图文高精度识别_37

java离线图文高精度识别 java ocr图片识别_java_38

java离线图文高精度识别 java ocr图片识别_Java_39

  • 5.Java invocation
    选择生成的jar包路径、设置主启动类、设置exe输出位置、并配置是否加载三方依赖,【点击】下一步

java离线图文高精度识别 java ocr图片识别_java_40

  • 6.JRE
    设置jre版本为1.8,并选择本机JRE环境,无脑默认【点击】下一步

java离线图文高精度识别 java ocr图片识别_百度_41

java离线图文高精度识别 java ocr图片识别_Java_42

java离线图文高精度识别 java ocr图片识别_Java_43

java离线图文高精度识别 java ocr图片识别_java离线图文高精度识别_44

  • 7.Splash screen
    无脑默认【点击】下一步

java离线图文高精度识别 java ocr图片识别_Java_45

  • 8.Messages
    无脑默认【点击】下一步

java离线图文高精度识别 java ocr图片识别_Java_46

  • 9.Compile executable

这一步将会自动生成exe可执行文件

java离线图文高精度识别 java ocr图片识别_百度_47

5. 查看打包结果

java离线图文高精度识别 java ocr图片识别_百度_48