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

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

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

成果初展
可执行的ocr-java.exe文件

图片识别

选择图片

截图

主要目标
实现3大重点
1. Java Swing页面基础布局
2. 百度ocr使用方法
3. exe4j工具如何将jar打成exe文件
正文
前置条件
Java环境(必备)
后端以Java Swing为框架基础,所以Java基础是前置条件

百度ocr(必须)
- 登录百度云官网,点击【立即使用】

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

- 申请完成,可在线调试


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

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. 代码结构

2. 初始化容器

3. 屏幕选择截图

4. 选择图片文件

5. 图片识别文字

百度ocr配置
1. 获取应用配置参数

2. 设置参数
将上方的找到的API_KEY和SECRET_KEY放置OcrUtil工具类中

3. 运行调试
启动java程序即可

- 启动成果

将java项目打包成jar
1. 模块设置
【右击】项目根目录ocr-java-master,【点击】选中Open Module Settings

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

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

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

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

- Action选择Build即可

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

5. 测试jar包是否可用
在当前路径下,使用命令启动,展示页面即可
java -jar ocr-java-master.jar

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

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

4. 将jar打包成exe
按照exe4j左测步骤进行打包流程

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

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

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

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



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

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




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

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

- 9.Compile executable
这一步将会自动生成exe可执行文件

5. 查看打包结果

总结
本文通过Java+百度ocr,实现图片识别文字小工具。从Java Swing页面基础布局,百度ocr配置,将java项目打包成jar,exe4j将jar打包exe四个方面入手,实现功能的同时,也熟悉了其他工具的使用,学以致用特来分享一下。
猜你想问
如何与狗哥联系进行探讨
关注公众号【JavaDog程序狗】
公众号回复【入群】或者【加入】,便可成为【程序员学习交流摸鱼群】的一员,问题随便问,牛逼随便吹。

此群优势:
- 技术交流随时沟通
- 任何私活资源免费分享
- 实时科技动态抢先知晓
- CSDN资源免费下载
- 本人一切源码均群内开源,可免费使用
2.踩踩狗哥博客
大家可以在里面留言,随意发挥,有问必答

猜你喜欢
文章推荐
【苹果】SpringBoot监听Iphone15邮件提醒,Selenium+Python自动化抢购脚本
【项目实战】SpringBoot+uniapp+uview2打造H5+小程序+APP入门学习的聊天小项目
【项目实战】SpringBoot+uniapp+uview2打造一个企业黑红名单吐槽小程序
【模块分层】还不会SpringBoot项目模块分层?来这手把手教你!
【ChatGPT】SpringBoot+uniapp+uview2对接OpenAI,带你开发玩转ChatGPT

【实操】Java+百度ocr,实现图片识别文字小工具的更多相关文章
- python截图+百度ocr(图片识别)+ 百度翻译
一直想用python做一个截图并自动翻译的工具,恰好最近有时间就在网上找了资料,根据资料以及自己的理解做了一个简单的截图翻译工具.整理一下并把代码放在github给大家参考.界面用python自带的G ...
- Java调用OCR进行图片识别
使用Java语言,通过Tesseract-OCR对图片进行识别. 1.Tesseract-OCR 下载windows版本并安装. 2.程序如下: a.ImageIOHelper类 package OC ...
- 微信小程序接入百度OCR(身份证识别)
微信小程序接入百度OCR(身份证识别) 1.接口描述 支持对二代居民身份证正反面所有8个字段进行结构化识别,包括姓名.性别.民族.出生日期.住址.身份证号.签发机关.有效期限,识别准确率超过99%:同 ...
- InkImageDataSetGenerator-开源一个可用于机器学习的书写轨迹图片生成的小工具
这是一个简单易用的图片数据集生成小工具,基于OpenCV和UWP Ink API,它可以根据指定的手写轨迹生成一系列各个角度的图片.每张图片的尺寸和总体数量都是可以指定的,均存放在统一的生成目录中.h ...
- 基于百度OCR的图片文字识别
先上图,有图有真相 首先在百度开通ORC服务,目前是免费的,普通识别每天50000次免费,非常棒! 百度文档:http://ai.baidu.com/docs#/OCR-API/top 下载百度SDK ...
- 图片识别文字, OCR
文章引用自: https://www.cnblogs.com/stone_w/archive/2011/10/08/2202397.html 方式一.Asprise-OCR的使用. Asprise-O ...
- 白痴级教程,新手看过来,具详细实操文档 (word图片复制不过来,0202年了还有这样的不便利,下回研究一下,图片下次补)
一.环境配置(win10): 1.配置cmd的python环境为arcmap10.2 自带的python解释器(2.7.3)(自带arcpy库) 具体操作: 1我的电脑右击属性,打开 (选中path点 ...
- java操作数据库增删改查的小工具1--TxQueryRunner
在java程序中,一般使用jdbc连接数据库,比较麻烦,在看传智教程时学了一个工具类,用于简化与数据库之间的操作步骤,就是TxQueryRunner,他是QueryRunner的子类,用起来和他是一样 ...
- java操作数据库增删改查的小工具2--TxQueryRunner
当涉及到多表查询时,如数据库中有两张表分别为t_person和t_address,表结构如下: 其中t_person的外键为t-address的主键aid, 新建两个javaBean类,Person ...
- 爬虫笔记之自如房屋价格图片识别(价格字段css背景图片偏移显示)
一.前言 自如房屋详情页的价格字段用图片显示,特此破解一下以丰富一下爬虫笔记系列博文集. 二.分析 & 实现 先打开一个房屋详情页观察一下: 网页的源代码中没有直接显示价格字段,价格的显示是使 ...
随机推荐
- 一篇随笔入门Java
Java helloWorld 随便新建一个文件夹存放代码 新建一个java文件 文件后缀名.java Hello.java [注意]系统可能不显示后缀名要手动打开 代码 public class H ...
- Solon 也是 SSE(Server Send Events)后端开发的优选
Solon 2.3.6 在开发异步接口时,顺带也为 Solon Web 提供了 SSE (Server-Sent Events) 协议的支持插件: <dependency> <gro ...
- 快上车,搭乘HUAWEI HiCar驶向未来
HUAWEI HiCar(以下简称HiCar)是华为提供的人-车-家全场景智慧互联解决方案,连接手机与车辆,充分发挥各自的优势属性,将手机的应用/服务生态延伸进车辆,实现以手机为核心的全场景体验.消费 ...
- SQL专家云回溯某时间段内的阻塞
背景 SQL专家云像"摄像头"一样,对环境.参数配置.服务器性能指标.活动会话.慢语句.磁盘空间.数据库文件.索引.作业.日志等几十个运行指标进行不同频率的实时采集,保存到SQL专 ...
- Unity的Console的控制类LogEntries:深入解析与实用案例
使用Unity Console窗口的LogEntries私有类实现自定义日志系统 在Unity开发过程中,我们经常需要使用Console窗口来查看程序运行时的日志信息.Unity内置的日志系统提供了基 ...
- hexo博客yilia主题_more截断文章_多标签添加
以下均为自己遇到的问题并加以修改或者纠正. 在文章下方可以使用more语句进行截断,这样博客首页只会出现文章的前面一小部分,看起来很清爽简约 或者 language: zh-CN <!--mor ...
- 浅析本地缓存技术-Guava Cache
1 引言 作为java开发工作者,相信大家对于guava这个工具包都不会太陌生,而对于本地缓存技术guava cache,大家在日常的工作开发中也都有所了解,接下来本文就从各个角度入手来对于Googl ...
- 解密Prompt系列12. LLM Agent零微调范式 ReAct & Self Ask
前三章我们分别介绍了思维链的使用,原理和在小模型上的使用.这一章我们正式进入应用层面,聊聊如何把思维链和工具使用结合得到人工智能代理. 要回答我们为什么需要AI代理?代理可以解决哪些问题?可以有以下两 ...
- java反射newInstance()带删除线的问题
从java9开始,newInstance()方法不建议使用导致idea自动画了条删除横线 解决方法: //改用getDeclaredConstructor().newInstance() Object ...
- vue vue-simple-uploader 前端的简单使用
前言 因为项目需要上传大文件tif图,考虑使用分片上传. 1.安装 npm install vue-simple-uploader --save 2.main.js中初始化 import upload ...