- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JAVA识别图形验证码
最近一直在开发一个用于自动发帖的工具,用HttpClient模拟客户端浏览器注册发帖。但是碰到了图形验证码的问题了,对单数字的验证码,通过一些OCR引擎,如:tesseract,AspriseOCR很容易解决问题。但碰到如CSDN论坛这中图形验证码就比较麻烦,必须先通过预处理。使图象二值化,黑白灰度,增加亮度。我的代码如下:
[java]?view plaincopy
package?myfilter;??
import?java.io.*;??
import?java.awt.image.*;??
import?java.awt.geom.AffineTransform;??
import?java.awt.color.ColorSpace;??
import?java.awt.image.ConvolveOp;??
import?java.awt.image.Kernel;??
import?java.awt.image.BufferedImage;??
import?javax.imageio.ImageIO;??
import?java.awt.Toolkit;??
import?java.awt.Image;??
/**?
?*? Title:?Image?Filter *?
?*? Description:?image?processing?by?filters *? Copyright:?Copyright? c ?2010 *?
?*?@author?gl74gs48@163.com?
?*?@since?jdk1.5.0?
?*?@version?1.0?
?*/??
public?class?MyImgFilter BufferedImage?image; private?int?iw,?ih; private?int[]?pixels; public?MyImgFilter BufferedImage?image this.image? ?image; iw? ?image.getWidth ; ih? ?image.getHeight ; pixels? ?new?int[iw?*?ih]; /**?图像二值化?*/ public?BufferedImage?changeGrey PixelGrabber?pg? ?new?PixelGrabber image.getSource ,?0,?0,?iw,?ih,?pixels,0,?iw ; try pg.grabPixels ; catch? InterruptedException?e e.printStackTrace ; //?设定二值化的域值,默认值为100 int?grey? ?100; //?对图像进行二值化处理,Alpha值保持不变 ColorModel?cm? ?ColorModel.getRGBdefault ; for? int?i? ?0;?i? ?iw?*?ih;?i++ int?red,?green,?blue; int?alpha? ?cm.getAlpha pixels[i] ; if? cm.getRed pixels[i] ? ?grey red? ?255; else red? ?0; if? cm.getGreen pixels[i] ? ?grey green? ?255; else green? ?0; if? cm.getBlue pixels[i] ? ?grey blue? ?255; else blue? ?0; pixels[i]? ?alpha? ?24?|?red? ?16?|?green? ?8?|?blue;?//通过移位重新构成某一点像素的RGB值 //?将数组中的象素产生一个图像 Image?tempImg Toolkit.getDefaultToolkit .createImage new?MemoryImageSource iw,ih,?pixels,?0,?iw ; image? ?new?BufferedImage tempImg.getWidth null ,tempImg.getHeight null ,?BufferedImage.TYPE_INT_BGR? ; image.createGraphics .drawImage tempImg,?0,?0,?null ; return?image; /**?中值滤波?*/ public?BufferedImage?getMedian PixelGrabber?pg? ?new?PixelGrabber image.getSource ,?0,?0,?iw,?ih, pixels, 0,?iw ; try
您可能关注的文档
- introductiontointernationalmanagement.ppt
- IntroductiontoJournalstylescientificwriting.doc
- IntroductiontoLeanandSixSigma.ppt
- introductiontomorphology.ppt
- IntroductiontoOperationsManagement(PS).ppt
- 酸辣粉的几种做法.doc
- Introductiontoresume.doc
- 酸雨对生物的影响教学设计.doc
- IntroductiontoOrganizationalBehavior.ppt
- IntroductiontoSoftwareEngineering(CEN-4010).ppt
最近下载
- 电大中国建筑史(本)形考四.doc VIP
- 风力发电机组PLC系统.ppt VIP
- 小学语文整本阅读指导课《爱的教育》课件.pptx VIP
- GB14881-2025食品安全国家标准培训大纲.pptx VIP
- DLT5111-2024水电水利工程施工监理规范.pptx VIP
- 2021-2024年数学竞赛AIME I II真题含答案(共8套).pdf VIP
- (2024)乡村振兴产业园建设项目可行性研究报告写作模板(一).docx VIP
- 周围神经病诊疗和鉴别诊疗专家讲座.pptx VIP
- 周围神经病基础知识.ppt VIP
- 2023中考模拟作文写作:“合理谋划才能行稳致远”导写及范文.pdf VIP
文档评论(0)