資源簡介
識別數字字母,大家可以試一試,也不是太準確,簡單學習測試用途

代碼片段和文件信息
package?cn.pwntcha;
import?java.awt.Color;
import?java.awt.image.BufferedImage;
import?java.io.File;
import?java.io.FileOutputStream;
import?java.io.InputStream;
import?java.io.OutputStream;
import?java.util.ArrayList;
import?java.util.HashMap;
import?java.util.List;
import?java.util.Map;
import?javax.imageio.ImageIO;
import?org.apache.commons.httpclient.HttpClient;
import?org.apache.commons.httpclient.HttpStatus;
import?org.apache.commons.httpclient.methods.GetMethod;
import?org.apache.commons.io.IOUtils;
public?class?ImagePreProcess?{
public?static?int?isBlack(int?colorInt)?{
Color?color?=?new?Color(colorInt);
if?(color.getRed()?+?color.getGreen()?+?color.getBlue()?<=?100)?{
return?1;
}
return?0;
}
public?static?int?isWhite(int?colorInt)?{
Color?color?=?new?Color(colorInt);
if?(color.getRed()?+?color.getGreen()?+?color.getBlue()?>?100)?{
return?1;
}
return?0;
}
public?static?BufferedImage?removeBackgroud(String?picFile)
throws?Exception?{
BufferedImage?img?=?ImageIO.read(new?File(picFile));
int?width?=?img.getWidth();
int?height?=?img.getHeight();
for?(int?x?=?0;?x? for?(int?y?=?0;?y? if?(isWhite(img.getRGB(x?y))?==?1)?{
img.setRGB(x?y?Color.WHITE.getRGB());
}?else?{
img.setRGB(x?y?Color.BLACK.getRGB());
}
}
}
return?img;
}
public?static?List?splitImage(BufferedImage?img)
throws?Exception?{
List?subImgs?=?new?ArrayList();
subImgs.add(img.getSubimage(10?6?8?10));
subImgs.add(img.getSubimage(19?6?8?10));
subImgs.add(img.getSubimage(28?6?8?10));
subImgs.add(img.getSubimage(37?6?8?10));
return?subImgs;
}
public?static?Map?loadTrainData()?throws?Exception?{
Map?map?=?new?HashMap();
File?dir?=?new?File(“train“);
File[]?files?=?dir.listFiles();
for?(File?file?:?files)?{
map.put(ImageIO.read(file)?file.getName().charAt(0)?+?““);
}
return?map;
}
public?static?String?getSingleCharOcr(BufferedImage?img
Map?map)?{
String?result?=?““;
int?width?=?img.getWidth();
int?height?=?img.getHeight();
int?min?=?width?*?height;
for?(BufferedImage?bi?:?map.keySet())?{
int?count?=?0;
Label1:?for?(int?x?=?0;?x? for?(int?y?=?0;?y? if?(isWhite(img.getRGB(x?y))?!=?isWhite(bi.getRGB(x?y)))?{
count++;
if?(count?>=?min)
break?Label1;
}
}
}
if?(count? min?=?count;
result?=?map.get(bi);
}
}
return?result;
}
public?static?String?getAllOcr(String?file)?throws?Exception?{
BufferedImage?img?=?removeBackgroud(file);
List?listImg?=?splitImage(img);
Map?map?=?loadTrainData();
String?result?=?““;
for?(BufferedImage?bi?:
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????163??2010-08-07?17:32??temp\1235.jpg
?????文件????????156??2010-08-07?17:32??temp\14b7.jpg
?????文件????????161??2010-08-07?17:32??temp\1c64.jpg
?????文件????????170??2010-08-07?17:32??temp\3310.jpg
?????文件????????162??2010-08-07?17:32??temp\37fa.jpg
?????文件????????173??2010-08-07?17:32??temp\3842.jpg
?????文件????????167??2010-08-07?17:32??temp\38f5.jpg
?????文件????????167??2010-08-07?17:32??temp\3d87.jpg
?????文件????????161??2010-08-07?17:32??temp\41f7.jpg
?????文件????????165??2010-08-07?17:32??temp\4c79.jpg
?????文件????????155??2010-08-07?17:32??temp\4f6e.jpg
?????文件????????166??2010-08-07?17:32??temp\5aao.jpg
?????文件????????162??2010-08-07?17:32??temp\5fce.jpg
?????文件????????178??2010-08-07?17:32??temp\7a65.jpg
?????文件????????166??2010-08-07?17:32??temp\7b89.jpg
?????文件????????167??2010-08-07?17:32??temp\86f8.jpg
?????文件????????159??2010-08-07?17:32??temp\93cc.jpg
?????文件????????167??2010-08-07?17:32??temp\b6ee.jpg
?????文件????????161??2010-08-07?17:32??temp\b84a.jpg
?????文件????????159??2010-08-07?17:32??temp\caf3.jpg
?????文件????????169??2010-08-07?17:32??temp\d616.jpg
?????文件????????160??2010-08-07?17:32??temp\fa77.jpg
?????文件????????173??2010-08-07?17:32??temp\o22b.jpg
?????文件????????160??2010-08-07?17:32??temp\ofae.jpg
?????文件???????1183??2010-08-08?23:08??temp3\639ED.jpg
?????文件???????1177??2010-08-08?23:08??temp3\6ABBD.jpg
?????文件???????1178??2010-08-08?23:08??temp3\945E7.jpg
?????文件???????1191??2010-08-08?23:08??temp3\95725.jpg
?????文件???????1186??2010-08-08?23:08??temp3\A85A1.jpg
?????文件???????1176??2010-08-08?23:08??temp3\CBDC7.jpg
............此處省略1102個文件信息
評論
共有 條評論