Java 实现OCR扫描/识别图片文字
图片内容一般无法编辑,如果想要读取图片中的文本,我们需要用到OCR工具。本文将介绍如何在Java中实现OCR识别读取图片中的文字。
所需工具:
- IDEA
- Spire.OCR for Java - Java OCR组件,支持识别多种语言、字体,可读取JPG、PNG、GIF、BMP 和 TIFF 等常用图片中的文本信息。
产品包下载链接:https://www.e-iceblue.cn/Downloads/Spire-OCR-JAVA.html
或从Maven仓库导入:
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.ocr</artifactId>
<version>1.9.0</version>
</dependency>
</dependencies>
- 其余依赖文件。按操作系统下载对应文件后,解压缩至指定的文件路径。
Java OCR识别图片文本的实现步骤
1. 在IDEA中新建一个项目并导入Spire.OCR.jar。
2. 将刚才下载解压缩后的 “dependencies” 文件夹复制到IDEA项目目录下。
3.确保导入以上所需依赖后,运行以下代码实现扫描读取图片中的文本。
import com.spire.ocr.OcrScanner;
import java.io.*; public class ReadImage {
public static void main(String[] args) throws Exception {
//指定依赖文件的路径
String dependencies = "F:\\dependencies\\";
//指定要需要扫描的图片的路径
String imageFile = "图片.png";
//指定输出文件的路径
String outputFile = "读取图片.txt"; //创建OcrScanner对象,并设置其依赖文件路径
OcrScanner scanner = new OcrScanner();
scanner.setDependencies(dependencies); //扫描指定的图像文件
scanner.scan(imageFile); //获取扫描的文本内容
String scannedText = scanner.getText().toString(); //创建输出文件对象
File output = new File(outputFile);
//如果输出文件已经存在,则将其删除
if (output.exists()) {
output.delete();
}
//创建BufferedWriter对象来将扫描的文本内容写入输出文件
BufferedWriter writer = new BufferedWriter(new FileWriter(outputFile));
writer.write(scannedText);
writer.close();
}
}
示例图片:
OCR图片扫描结果:
Java 实现OCR扫描/识别图片文字的更多相关文章
- C#调用OCR组件识别图片文字
图片识别的技术到几天已经很成熟了,只是相关的资料很少,为了方便在此汇总一下(C#实现),方便需要的朋友查阅,也给自己做个记号. 图片识别的用途:很多人用它去破解网站的验证码,用于达到自动刷票或者是批量 ...
- Android实现OCR扫描识别数字图片之图片扫描识别
[Android实例] Android实现OCR扫描识别数字图片之图片扫描识别 Android可以识别和扫描二维码,但是识别字符串呢? google提供了以下解决方案用的是原来HP的相关资料. 可以吧 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 18—Photo OCR 应用实例:图片文字识别
Lecture 18—Photo OCR 应用实例:图片文字识别 18.1 问题描述和流程图 Problem Description and Pipeline 图像文字识别需要如下步骤: 1.文字侦测 ...
- Atitit java 二维码识别 图片识别
Atitit java 二维码识别 图片识别 1.1. 解码11.2. 首先,我们先说一下二维码一共有40个尺寸.官方叫版本Version.11.3. 二维码的样例:21.4. 定位图案21.5. 数 ...
- python识别图片文字
因为学校要求要刷一门叫<包装世界>的网课,而课程里有200多道选择题,而且只能在手机完成,网页版无法做题,而看视频是不可能看视频的,这辈子都不可能看...所以写了几行代码来进行百度搜答案. ...
- 浅析点对点(End-to-End)的场景文字识别(图片文字)
一.背景 随着智能手机的广泛普及和移动互联网的迅速发展,通过手机等移动终端的摄像头获取.检索和分享资讯已经逐步成为一种生活方式.基于摄像头的 (Camera-based)的应用更加强调对拍摄场景的理解 ...
- 深入学习使用ocr算法识别图片中文字的方法
公司有个需求,简单点说需要从一张图片中识别出中文,通过python来实现,当然其他程序也行,只要能实现,而小编主要学习python,所以就提了python.一个小白在网上遨游了一天,终于找到一丝丝思绪 ...
- python3 识别图片文字
1.下载相关组件 安装:pip install Pillow 或下载:https://pypi.org/project/Pillow/5.2.0/ ,https://pypi.org/project ...
- 【java+selenium3】Tesseract-OCR识别图片验证码 (十六)
[java+selenium+Tesseract-OCR(图片识别)+AutoIt(windows窗口识别)]完成自动化图片验证码识别! 一.AutoIt(windows窗口识别)参考:https:/ ...
- 【图片识别】Java中使用tess4J进行图片文字识别(支持中文)(转)
http://blog.csdn.net/wsk1103/article/details/54173282 java中识别文字比较简单,使用的软件是tesseractocr(使用的版本是3.02,3以 ...
随机推荐
- Go语言并发编程(1):对多进程、多线程、协程和并发、并行的理解
一.进程和线程 对操作系统进程和线程以及协程的了解,可以看看我前面的文章: 对进程.线程和协程的理解以及它们的区别:https://www.cnblogs.com/jiujuan/p/16193142 ...
- Kafka本地单实例安装
下载安装 从国内镜像站点下载并安装Kafka安装包,以下载并安装v3.2.3版本为例. $ tar -xzf kafka_2.12-3.2.3.tgz $ cd kafka_2.12-3.2.3 启动 ...
- OSG开发笔记(二十九):OSG加载模型文件、加载3DMax三维型文件Demo
前言 Osg深入之后需要打开模型文件,这些模型文件是已有的模型文件,加载入osg之后可以在常见中展示模型文件,该节点可以操作,多个逼真的模型的节点就实现了基本的场景构建. Demo ...
- python Apscheduler持久化
from pytz import utc from apscheduler.schedulers.background import BackgroundScheduler from apschedu ...
- 【LeetCode贪心#02】摆动序列,麻了
摆动序列 力扣题目链接(opens new window) 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列.第一个差(如果存在的话)可能是正数或负数.少于两个元素的序列也是摆动 ...
- 【Azure 应用服务】遇见“无法创建hybrid connection for App Service”的解决办法
Hybrid Connection (混合连接) 在两个联网应用程序之间启用了双向.请求-响应和二进制流通信以及简单的数据报流.通过混合连接,可以实现应用部署在公网环境中,而数据库保存在本地私网环境中 ...
- Nebula Graph 源码解读系列 | Vol.06 MATCH 中变长 Pattern 的实现
目录 问题分析 定长 Pattern 变长 Pattern 与变长 Pattern 的组合 执行计划 拓展一步 拓展多步 保存路径 变长拼接 总结 MATCH 作为 openCypher 语言的核心, ...
- Zabbix MQQT协议监控 loT设备
一. 项目背景 监控异地局域网主机(主机内有物联5G卡 可以单方面向特定的云服务器传输信息)这里采用 zabbix 5xx系列 agent2 -6.2 版本 主动模式,即客户端向服务端注册. 二. ...
- centos python3虚拟环境
为什么需要虚拟环境? 在使用 Python 语言时,通过 pip(pip3)来安装第三方包,但是由于 pip 的特性,系统中只能安装每个包的一个版本.但是在实际项目开发中,不同项目可能需要第三方包的不 ...
- vscode 合并分支 举例 master merge dev
举例 将 dev 开发线 合并到 master 1 确定你在dev线,将dev代码改动全部提交 2 切换master,确定是最新代码,不确定就pull下,选择合并分支,见上图 3 在下拉的提示框中选择 ...