java项目实战:处理图片水印,提取图片信息,生成excel表

  在这次应用软件设计课程中,要求从今年的软件杯大赛上的项目选择一个实现。我选的是"网店工商信息提取",具体要求就是:从给出的带水印的图片中提取出企业名称和企业注册号,并根据这些信息生成excel表格。

  刚刚开始以为这个要求挺难实现的,图片识别好像是很高深的技术啊。但是认真做起来从开工到完成也没花多少时间,并不是我完成了图片识别的代码,而是我用到了谷歌一个图片识别的源码包(TESS4J)。其实不止是图片识别这部分,生成excel表也是用的第三方源码包(感觉好方便)。早知道这么容易,后悔没有报名软件杯。。。

  这样,项目四个模块的功能(水印处理、图片识别、信息提取、生成excel表)我自己实现的其实只有信息提取和水印处理。虽然如此,还是有必要记录一下。

  下面上代码:

  首先是主函数RP.java:

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=-1,c2=-1;
			c1=s.lastIndexOf("号 :");
			c2=s.indexOf("\n");
			if(c1!=-1&&c2!=-1)
			{
				c0=s.substring(c1+4, c2);
				
			}
			int a1=-1,a2=-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 i,XSSFWorkbook wb,XSSFSheet 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.
  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值