前言

缘由

图片识别文字,咱用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(必须)

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

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

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

  • 申请完成,可在线调试

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

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. 获取应用配置参数

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

2. 设置参数

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

3. 运行调试

启动java程序即可

  1. 启动成果


将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

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

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程序狗】

公众号回复【入群】或者【加入】,便可成为【程序员学习交流摸鱼群】的一员,问题随便问,牛逼随便吹。

此群优势:

  1. 技术交流随时沟通
  2. 任何私活资源免费分享
  3. 实时科技动态抢先知晓
  4. CSDN资源免费下载
  5. 本人一切源码均群内开源,可免费使用
2.踩踩狗哥博客

javadog.net

大家可以在里面留言,随意发挥,有问必答


猜你喜欢

文章推荐

【苹果】SpringBoot监听Iphone15邮件提醒,Selenium+Python自动化抢购脚本

【项目实战】SpringBoot+uniapp+uview2打造H5+小程序+APP入门学习的聊天小项目

【项目实战】SpringBoot+uniapp+uview2打造一个企业黑红名单吐槽小程序

【模块分层】还不会SpringBoot项目模块分层?来这手把手教你!

【ChatGPT】手摸手,带你玩转ChatGPT

【ChatGPT】SpringBoot+uniapp+uview2对接OpenAI,带你开发玩转ChatGPT


【实操】Java+百度ocr,实现图片识别文字小工具的更多相关文章

  1. python截图+百度ocr(图片识别)+ 百度翻译

    一直想用python做一个截图并自动翻译的工具,恰好最近有时间就在网上找了资料,根据资料以及自己的理解做了一个简单的截图翻译工具.整理一下并把代码放在github给大家参考.界面用python自带的G ...

  2. Java调用OCR进行图片识别

    使用Java语言,通过Tesseract-OCR对图片进行识别. 1.Tesseract-OCR 下载windows版本并安装. 2.程序如下: a.ImageIOHelper类 package OC ...

  3. 微信小程序接入百度OCR(身份证识别)

    微信小程序接入百度OCR(身份证识别) 1.接口描述 支持对二代居民身份证正反面所有8个字段进行结构化识别,包括姓名.性别.民族.出生日期.住址.身份证号.签发机关.有效期限,识别准确率超过99%:同 ...

  4. InkImageDataSetGenerator-开源一个可用于机器学习的书写轨迹图片生成的小工具

    这是一个简单易用的图片数据集生成小工具,基于OpenCV和UWP Ink API,它可以根据指定的手写轨迹生成一系列各个角度的图片.每张图片的尺寸和总体数量都是可以指定的,均存放在统一的生成目录中.h ...

  5. 基于百度OCR的图片文字识别

    先上图,有图有真相 首先在百度开通ORC服务,目前是免费的,普通识别每天50000次免费,非常棒! 百度文档:http://ai.baidu.com/docs#/OCR-API/top 下载百度SDK ...

  6. 图片识别文字, OCR

    文章引用自: https://www.cnblogs.com/stone_w/archive/2011/10/08/2202397.html 方式一.Asprise-OCR的使用. Asprise-O ...

  7. 白痴级教程,新手看过来,具详细实操文档 (word图片复制不过来,0202年了还有这样的不便利,下回研究一下,图片下次补)

    一.环境配置(win10): 1.配置cmd的python环境为arcmap10.2 自带的python解释器(2.7.3)(自带arcpy库) 具体操作: 1我的电脑右击属性,打开 (选中path点 ...

  8. java操作数据库增删改查的小工具1--TxQueryRunner

    在java程序中,一般使用jdbc连接数据库,比较麻烦,在看传智教程时学了一个工具类,用于简化与数据库之间的操作步骤,就是TxQueryRunner,他是QueryRunner的子类,用起来和他是一样 ...

  9. java操作数据库增删改查的小工具2--TxQueryRunner

    当涉及到多表查询时,如数据库中有两张表分别为t_person和t_address,表结构如下: 其中t_person的外键为t-address的主键aid, 新建两个javaBean类,Person ...

  10. 爬虫笔记之自如房屋价格图片识别(价格字段css背景图片偏移显示)

    一.前言 自如房屋详情页的价格字段用图片显示,特此破解一下以丰富一下爬虫笔记系列博文集. 二.分析 & 实现 先打开一个房屋详情页观察一下: 网页的源代码中没有直接显示价格字段,价格的显示是使 ...

随机推荐

  1. C#中数组=out参数?

    - 结论 先上结论,答案是yes,C#中数组确实具有out参数的特性. - 疑问 最近开发一个上位机的功能,有段代码看得我一直很迷糊,我的认识,函数的执行结果,要么在函数中通过return返回,要么通 ...

  2. 相较于Scrum, 我更推崇精益Kanban,帮助团队建立价值交付流,识别瓶颈问题

    最近在学习实践精益Kanban方法,结合自己团队实践Srum的经历,整理些资料二者的差异.相较于Scrum, 我更推崇精益Kaban. Agile是一套理论和原则,就像天边的北极星.Devops是一种 ...

  3. 聊一聊Java中的Steam流

    1 引言 在我们的日常编程任务中,对于集合的制造和处理是必不可少的.当我们需要对于集合进行分组或查找的操作时,需要用迭代器对于集合进行操作,而当我们需要处理的数据量很大的时候,为了提高性能,就需要使用 ...

  4. Djiango 创建迁移项报错query = query.decode(errors='replace') AttributeError: 'str' object has no attribute 'decode'

    在终端命令行创建迁移项 输入(python manage.py makemigrations) 或(python manage.py migrate)时出现报错信息:Traceback (most r ...

  5. python开发之远程开发工具对比

    前言 除了本地开发外,还有一种常见的开发方式就是远程开发,一般情况是一台Windows或mac笔记本作为日常使用的电脑,另有一台linux服务器作为开发服务器.开发服务器的性能往往较强,这样远程开发的 ...

  6. gin 接口开发 - 用户输入自动 TrimSpace

    最近在思考一个问题,针对用户的输入,能不能快速校验? 比方说下面的 struct,大家用过 gin 的就知道,支持指定某个字段为 required,用户如果不输入,就检验不通过. type Login ...

  7. 在DevExpress的GridView的列中,动态创建列的时候,绑定不同的编辑处理控件

    在使用DevExpress的GridView的时候,我们为了方便,往往使用一些扩展函数,动态创建GridView列的编辑控件对象,然后我们可以灵活的对内容进行编辑或者使用一些弹出的对话框窗体进行处理内 ...

  8. Centos7安装JDK1.8(详解版)

    一.检查并卸载OpenJDK 1.卸载centos原本自带的openjdk 运行命令如下: rpm -qa | grep java 2.然后通过    rpm -e --nodeps   后面跟系统自 ...

  9. OO第二次大作业

    前言 前言的前言 第二篇blog跟上一篇只隔了将近一个月,但是感觉心境上好像发生了很多的变化,认识到了自己存在的很多不足(可能是菜单折磨的),感觉对很多东西都一知半解,希望在写完这篇总结性blog之后 ...

  10. FreeBSD 内核模块和硬盘相关

    查看已加载的内核模块 使用命令:kldstat 加载驱动: kldload xx 查看识别到的硬盘 使用命令:dmesg | grep sector freeBSD 查看硬件信息 使用命令:dmesg ...