資源簡介
使用 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? 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?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? Map?map?=?new?HashMap();
for?(int?x?=?(int)?(1?+?i?*?subWidth);?x?(i?+?1)?*?subWidth
&&?x? for?(int?y?=?0;?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個文件信息
評論
共有 條評論