资源简介
使用 tess4j 识别验证码,实现java post 登录网站,忘记了很久以前写的了,改了下积分大家可以免费下载
代码片段和文件信息
package com.kail.or;
import java.awt.Color;
import java.awt.image.BufferedImage;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.imageio.ImageIO;
import org.apache.http.Consts;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.protocol.HttpClientContext;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import net.sourceforge.tess4j.Tesseract1;
import net.sourceforge.tess4j.TesseractException;
public class CodeProcess {
private static final String fileName = “captcha.jpg“;
//根据实际验证码的色彩来判断哪里要变成白色
public static int isWhite(int colorInt) {
Color color = new Color(colorInt);
if (color.getRed() + color.getGreen() + color.getBlue() > 300) { //根据实际情况修改这里的300
return 1;
}
return 0;
}
//根据实际验证码的色彩来判断哪里要变成黑色
public static int isBlack(int colorInt) {
Color color = new Color(colorInt);
if (color.getRed() + color.getGreen() + color.getBlue() <= 300) { //根据实际情况修改这里的300
return 1;
}
return 0;
}
//扫描验证码所有的像素颜色过滤掉不要的颜色
public static BufferedImage removeBackgroud4Tone(String picFile)
throws Exception {
BufferedImage img = ImageIO.read(new File(picFile));
int width = img.getWidth();
int height = img.getHeight();
for (int x = 0; x < width; ++x) {
for (int y = 0; y < height; ++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 BufferedImage removeBackgroud4MaxColor(String picFile
int count) {
BufferedImage img = null;
try {
img = ImageIO.read(new File(picFile));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
img = img.getSubimage(1 1 img.getWidth() - 2 img.getHeight() - 2);
int width = img.getWidth();
int height = img.getHeight();
double subWidth = (double) width / count;
for (int i = 0; i < count; i++) {
Map map = new HashMap();
for (int x = (int) (1 + i * subWidth); x < (i + 1) * subWidth
&& x < width - 1; ++x) {
for (int y = 0; y < height; ++y) {
if (isWhite(img.getRGB(x y)) == 1)
continue;
if (map.containsKey(img.getRGB(x y))) {
map.put(img.getRGB(x y) map.get(img.getRGB(x y)) + 1);
} else 属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-08-20 15:40 Java_OCR\
文件 846 2015-08-20 13:05 Java_OCR\.classpath
文件 384 2014-09-29 09:59 Java_OCR\.project
目录 0 2015-08-19 12:01 Java_OCR\.settings\
文件 670 2015-08-19 12:03 Java_OCR\.settings\org.eclipse.jdt.core.prefs
目录 0 2015-08-20 13:05 Java_OCR\bin\
目录 0 2015-08-20 13:05 Java_OCR\bin\com\
目录 0 2015-08-20 13:05 Java_OCR\bin\com\kail\
目录 0 2015-08-20 15:10 Java_OCR\bin\com\kail\or\
文件 9504 2015-08-20 15:44 Java_OCR\bin\com\kail\or\CodeProcess.class
文件 5198 2015-08-20 13:05 Java_OCR\bin\com\kail\or\ImagePreProcess.class
目录 0 2015-08-20 13:05 Java_OCR\bin\com\recognition\
目录 0 2015-08-20 13:05 Java_OCR\bin\com\recognition\software\
目录 0 2015-08-20 13:05 Java_OCR\bin\com\recognition\software\jdeskew\
文件 676 2015-08-20 13:05 Java_OCR\bin\com\recognition\software\jdeskew\ImageDeskew$HoughLine.class
文件 3616 2015-08-20 13:05 Java_OCR\bin\com\recognition\software\jdeskew\ImageDeskew.class
文件 1432 2015-08-20 13:05 Java_OCR\bin\com\recognition\software\jdeskew\ImageUtil.class
目录 0 2015-08-20 13:05 Java_OCR\bin\com\ricky\
目录 0 2015-08-20 13:05 Java_OCR\bin\com\ricky\java\
目录 0 2015-08-20 13:05 Java_OCR\bin\com\ricky\java\ocr\
文件 17021 2015-08-20 13:05 Java_OCR\bin\com\ricky\java\ocr\TessAPITest$TessDllAPIImpl.class
文件 17810 2015-08-20 13:05 Java_OCR\bin\com\ricky\java\ocr\TessAPITest.class
文件 4206 2015-08-20 13:05 Java_OCR\bin\com\ricky\java\ocr\Tesseract1Test$Tess1Extension.class
文件 1520 2015-08-20 13:05 Java_OCR\bin\com\ricky\java\ocr\Tesseract1Test$Word.class
文件 5707 2015-08-20 13:05 Java_OCR\bin\com\ricky\java\ocr\Tesseract1Test.class
文件 14789120 2014-09-29 11:11 Java_OCR\bin\gsdll64.dll
文件 2120704 2014-09-29 10:34 Java_OCR\bin\liblept168.dll
文件 2000384 2014-09-29 10:34 Java_OCR\bin\libtesseract302.dll
目录 0 2015-08-20 13:05 Java_OCR\bin\net\
目录 0 2015-08-20 13:05 Java_OCR\bin\net\sourceforge\
目录 0 2015-08-20 13:05 Java_OCR\bin\net\sourceforge\tess4j\
............此处省略96个文件信息
相关资源
- release-1911-x64-gdal-3-0-2-mapserver-7-4-2.zi
- java基于ssh2的酒店管理系统
-
Java How To Program 10th Late ob
jects Java大 - java人脸识别程序基于特征脸
- jdk1.8_google_中文离线版帮助文档
- 基于javaweb的房屋租赁网站 优秀毕业
- Bayes自然图像抠图(Java实现)看评论
- 可视化JAVA SWT JFACE GUI程序设计教程课
- Java范例大全机械工业出版社源代码
- 基于web的java开发邮箱系统
- Java黑马商城代码文档数据库
- javaweb库存管理系统.rar
- 数据库课程设计之学生信息管理系统
- Java Web应用开发项目教程,习题答案
- JavaEE8Recipes(2018).pdf
- java的考勤系统java的考勤系统
- java实现的感知机手写数字识别
- java知识图谱
- 西电科大-软件学院-web java 课件霍秋燕
- javaWeb调用串口通讯
- java web mysql 网上商城完整源码 +sql 脚
- 2018最新Java程序员面试宝典
- 基于Javaee的网上课程设计选课系统
- java swing局域网的聊天源码
- Mastering Lambdas- Java Programming in a Multi
- 基于struts和hibernate的java web开发 客运
- 成绩查询系统jsp+javaBean+struts+hibernet
- JavaEE开发的颠覆者- Spring Boot实战.ep
- JavaWeb库存管理系统V1.1源码
- 基于java的宠物管理系统
川公网安备 51152502000135号
评论
共有 条评论