资源简介
对图片进行水印处理,利用TESS4J识别图片并提取信息生成excel表格。里面有字库文件所以占用空间较大。
说明:https://blog.csdn.net/xlantian/article/details/80789115
代码片段和文件信息
import java.awt.Rectangle;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import net.sourceforge.tess4j.*;
import org.apache.poi.ss.usermodel.HorizontalAlignment;
import org.apache.poi.xssf.usermodel.*;
public class RP {
private String a0=“无法识别“c0=“无法识别“;
public void PickUp(String s) //提取文字中的公司名和注册号
{
int c1=-1c2=-1;
c1=s.lastIndexOf(“号 :“);
c2=s.indexOf(“\n“);
if(c1!=-1&&c2!=-1)
{
c0=s.substring(c1+4 c2);
}
int a1=-1a2=-1;
a1=s.indexOf(“称 :“);
a2=s.lastIndexOf(“\n“);
if(a1!=-1&&a2!=-1)
{
a0=s.substring(a1+4 a2);
}
/* else{
int b1=s.indexOf(“名称:“);
int b2=s.lastIndexOf(“有限公司“);
if(b1!=-1)
{
b0=s.substring(b1+3 b2+2);
}
}*/
}
public void toExcel(int iXSSFWorkbook wbXSSFSheet sheet) //将文字信息做成表格
{
if(i==0) //第一行的话,就设置列名等属性
{
XSSFRow row=sheet.createRow(0);
XSSFCellstyle style=(XSSFCellstyle)wb.createCellstyle();
style.setAlignment(HorizontalAlignment.CENTER);
XSSFCell cell=row.createCell(0);
cell.setCellValue(“企业名称“);
cell.setCellstyle(style);
cell = row.createCell(1);
cell.setCellValue(“企业注册号“);
cell.setCellstyle(style);
}
else //不是第一行就将识别到的信息输入表格
{
XSSFRow row = sheet.createRow(i);
row.createCell(0).setCellValue(this.a0);
row.createCell(1).setCellValue(this.c0);
}
}
public static void main(String[] args) throws IOException {
RP rp=new RP();
int num=1;
Rectangle ret=new Rectangle(0055080); //设置一个矩形区域,作为识别部分,减少运行时间提高识别率
File root = new File(System.getProperty(“user.dir“) + “/imgs“);//存放处理后的图片,imgs文件夹
File res=new File(System.getProperty(“user.dir“) + “/res“);//源图片位置,res文件夹下
ITesseract instance = new Tesseract();
instance.setLanguage(“songti“); //使用训练好中文字库识别
XSSFWorkbook wb=new XSSFWorkbook();
XSSFSheet sheet=wb.createSheet(“信息汇总“);
rp.toExcel(0wbsheet); //设置列名
try {
File[] ress = res.listFiles();
int i=0;
for(File file : ress){
i++;
WaterMark.Clean(file.getAbsolutePath()“F:\\eclipse-workspace\\ReadPicture\\imgs\\“+i+“.png“);
} //去除源图片水印,处理后的图片放到img文件夹
File[] files = root.listFiles();
for (File file : files) { //对去除水印后的图片逐个处理
String result = instance.doOCR(fileret); //开始采用doOCR(file)效率很低,因为图片内容太多
System.out.print(result);
rp.a0=“无法识别“;
rp.c0=“无法识别“;
rp.PickUp(result); //调用信息提取的函数,提取出企业名和企业注册号
rp.toExcel(numwbsheet); //调用toExcel函数,将提取到的信息写入
num++;
}
} catch (TesseractException e) {
System.err.println(e.getMessage());
}
try {
FileOutputStream fout = new FileOutputStr
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-06-15 10:49 ReadPicture\
文件 2180 2018-05-27 13:22 ReadPicture\.classpath
文件 387 2018-05-21 20:13 ReadPicture\.project
目录 0 2018-06-21 13:52 ReadPicture\.settings\
文件 592 2018-05-21 20:13 ReadPicture\.settings\org.eclipse.jdt.core.prefs
目录 0 2018-06-21 13:52 ReadPicture\bin\
目录 0 2018-06-16 11:23 ReadPicture\bin\com\
目录 0 2018-06-16 11:23 ReadPicture\bin\com\recognition\
目录 0 2018-06-16 11:23 ReadPicture\bin\com\recognition\software\
目录 0 2018-06-16 11:23 ReadPicture\bin\com\recognition\software\jdeskew\
文件 676 2018-06-16 11:23 ReadPicture\bin\com\recognition\software\jdeskew\ImageDeskew$HoughLine.class
文件 3616 2018-06-16 11:23 ReadPicture\bin\com\recognition\software\jdeskew\ImageDeskew.class
文件 3316 2018-06-16 11:23 ReadPicture\bin\com\recognition\software\jdeskew\ImageUtil.class
目录 0 2018-06-16 11:23 ReadPicture\bin\net\
目录 0 2018-06-16 11:23 ReadPicture\bin\net\sourceforge\
目录 0 2018-06-16 11:23 ReadPicture\bin\net\sourceforge\tess4j\
文件 287 2018-06-16 11:23 ReadPicture\bin\net\sourceforge\tess4j\ITessAPI$CANCEL_FUNC.class
文件 892 2018-06-16 11:23 ReadPicture\bin\net\sourceforge\tess4j\ITessAPI$EANYCODE_CHAR.class
文件 1263 2018-06-16 11:23 ReadPicture\bin\net\sourceforge\tess4j\ITessAPI$ETEXT_DESC.class
文件 559 2018-06-16 11:23 ReadPicture\bin\net\sourceforge\tess4j\ITessAPI$Tessba
文件 580 2018-06-16 11:23 ReadPicture\bin\net\sourceforge\tess4j\ITessAPI$TessChoiceIterator.class
文件 583 2018-06-16 11:23 ReadPicture\bin\net\sourceforge\tess4j\ITessAPI$TessMutableIterator.class
文件 411 2018-06-16 11:23 ReadPicture\bin\net\sourceforge\tess4j\ITessAPI$TessOcrEngineMode.class
文件 421 2018-06-16 11:23 ReadPicture\bin\net\sourceforge\tess4j\ITessAPI$TessOrientation.class
文件 574 2018-06-16 11:23 ReadPicture\bin\net\sourceforge\tess4j\ITessAPI$TessPageIterator.class
文件 421 2018-06-16 11:23 ReadPicture\bin\net\sourceforge\tess4j\ITessAPI$TessPageIteratorLevel.class
文件 785 2018-06-16 11:23 ReadPicture\bin\net\sourceforge\tess4j\ITessAPI$TessPageSegMode.class
文件 438 2018-06-16 11:23 ReadPicture\bin\net\sourceforge\tess4j\ITessAPI$TessParagraphJustification.class
文件 841 2018-06-16 11:23 ReadPicture\bin\net\sourceforge\tess4j\ITessAPI$TessPolyBlockType.class
文件 580 2018-06-16 11:23 ReadPicture\bin\net\sourceforge\tess4j\ITessAPI$TessResultIterator.class
文件 580 2018-06-16 11:23 ReadPicture\bin\net\sourceforge\tess4j\ITessAPI$TessResultRenderer.class
............此处省略153个文件信息
- 上一篇:CSDN博客提取器修正版
- 下一篇:人才招聘网站 毕业设计
相关资源
- mysql数据处理,java用户登录处理
- 法律咨询信息系统(java+jsp+sqlserver)
- Java快速开发平台源码(renren-fast)
- 锐聘学院QST青软JavaWeb十二个打包
- 3.3.6微信支付JAVA版demo
- javaweb网上购物系统源码(附数据库脚
- javaweb校园宿舍系统(附数据库脚本)
- JavaWeb书城项目(附数据库脚本)
- 基于JAVA_JSP电子书系统(源码+数据库
- Java网络编程知识点总结.xmind
- 一站式Java网络编程 BIO-NIO-AIO资料源码
- jsp讲解
- 基于SSH框架的JavaWeb项目—人员信息管
- javaweb实现的邮件收发系统(附数据库
- Java 仿QQ(附客户端以及服务端源码)
- Java TCP IP Socket
- java定时发送邮件(基于quartz)
- Java Swing开发的《星际争霸》游戏
- java+数据库商品交易管理系统(附数据
- 使用java语言编译一个计算器
- java swing工资管理系统(源码+数据库
- JAVALibrary
- 微信企业号回调模式Java版
- 顺丰丰桥接口开发详细教程源码含下
- Java博客概要设计文档
- 药品进销存管理系统(论文范文_JSP
- 奖学金管理系统java+jsp+mysql
- 毕设参考——基于java酒店管理
- Java写的一个简单的字体更改程序
- java8学习教程之lambda表达式的使用方法
评论
共有 条评论