分析下图片识别代码 含义特别是红色代号的 2

问题描述

//像素过滤接口packagepay365;publicinterfaceFilter{voiddoFilter(int[][]data);}//packagepay365;publicabstractclassAbstractFilterimplementsFilter{publicvoiddoFilter(int[][]data){inth=data.length;if(h<=0)return;intw=data[0].length;if(w<=0)return;for(inti=0;i<h;i++){for(intj=0;j<w;j++){data[i][j]=filter(data[i][j]);}}}protectedabstractintfilter(intp);}//过滤csdn验证码的过滤器packagepay365;publicclassCsdnFilterextendsAbstractFilter{protectedintfilter(intp){returnisNotWhite(p)?1:0;}privatebooleanisNotWhite(intp){booleanb=(p&0×0ff)==255&&(p>>8&0×0ff)==255&&(p>>16&0xff)==255;return!b;}}//过滤前景色为白色的过滤器packagepay365;publicclassWhiteFilterextendsAbstractFilter{protectedintfilter(intp){if(isWhite(p)){return1;}else{return0;}}privatebooleanisWhite(intp){return(p&0x0ff)>240&&(p>>8&0x0ff)>240&&(p>>16&0xff)>240;}}//模板创建类packagepay365;importjava.awt.image.BufferedImage;importjava.io.BufferedReader;importjava.io.File;importjava.io.InputStreamReader;importjava.io.PrintWriter;importjava.net.URL;importjava.util.HashSet;importjava.util.Iterator;importjava.util.Set;importjavax.imageio.ImageIO;publicclassTemplateCreator{/***@paramargs*/publicstaticvoidmain(String[]args)throwsException{Setset=newHashSet();Stringurl="http://passport.csdn.net/member/ShowExPwd.aspx";StringfilterClazz="pay365.CsdnFilter";if(args.length>=1){url=args[0];}if(args.length>=2){filterClazz=args[1];}FiltercsdnFilter=(Filter)Class.forName(filterClazz).newInstance();for(inti=1;i<10;i++){URLu=newURL(url);BufferedImagebi=ImageIO.read(u);ImageDataia2=newImageData(bi,csdnFilter);ImageData[]ii=ia2.split();for(intx=0;x<ii.length;x++){ImageDataimageArr=ii[x];set.add(imageArr);}//set.addAll(Arrays.asList(ia2.split()));}System.out.println(set.size());for(Iteratoriter=set.iterator();iter.hasNext();){ImageDataele=(ImageData)iter.next();ele.show();System.out.print("char:");Strings=readLine();if(s.length()==1){ele.code=s.charAt(0);}}PrintWriterpw=newPrintWriter(newFile("template.data"));for(Iteratoriter=set.iterator();iter.hasNext();){ImageDataele=(ImageData)iter.next();pw.println(ele.encode());}pw.flush();pw.close();}privatestaticBufferedReaderreader=newBufferedReader(newInputStreamReader(System.in));privatestaticStringreadLine(){try{returnreader.readLine();}catch(Exceptione){e.printStackTrace();return"";}}}//识别类packagepay365;importjava.awt.image.BufferedImage;importjava.io.File;importjava.io.IOException;importjava.net.URL;importjava.util.ArrayList;importjava.util.HashMap;importjava.util.Iterator;importjavax.imageio.ImageIO;publicclassRecognize2{staticStringurl="http://passport.csdn.net/member/ShowExPwd.aspx";staticFilterfilter;publicstaticvoidmain(String[]args)throwsException{if(args.length>=1){url=args[0];}StringfilterClazz="pay365.CsdnFilter";if(args.length>=2){filterClazz=args[1];}filter=(Filter)Class.forName(filterClazz).newInstance();inttotal=10;intcount=0;for(inti=0;i<total;i++){booleanb=recognize(i);if(b)count++;}System.out.println("rate:"+(count*1.0/total*100)+"%100");}/***@throwsIOException*/privatestaticbooleanrecognize(intnum)throwsIOException{BufferedImagebi=ImageIO.read(newURL(url));ImageIO.write(bi,"png",newFile(num+".png"));ImageDataia2=newImageData(bi,filter);ImageData[]ii=ia2.split();ArrayListlist=newArrayList();ImageData[]template=ImageData.decodeFromFile("template.data");HashMapmap=newHashMap();for(inti=0;i<template.length;i++){map.put(template[i],newCharacter(template[i].code));}for(intx=0;x<ii.length;x++){ImageDataimageArr=ii[x];if(imageArr.w>15)continue;Characterc=(Character)map.get(imageArr);if(c!=null){list.add(c);}}Strings="";System.out.print(num+":");for(Iteratoriter=list.iterator();iter.hasNext();){Characterc=(Character)iter.next();s+=c;System.out.print(c);}System.out.println();returns.length()!=0;}}

解决方案

时间: 2024-12-30 23:32:04

分析下图片识别代码 含义特别是红色代号的 2的相关文章

java代码-望大神帮分析下,最好是把该代码的思路给分析讲解下,虽没有分但万分感谢!

问题描述 望大神帮分析下,最好是把该代码的思路给分析讲解下,虽没有分但万分感谢! import java.math.BigDecimal; public class NumToRMB { public static void main(String[] args) { System.out.println(changeToBig(Double.parseDouble(args[0]))); } public static String changeToBig(double value) { ch

图像处理-初学MATLAB,求各位老师解释下这段代码,及参数的含义

问题描述 初学MATLAB,求各位老师解释下这段代码,及参数的含义 function pushbutton3_Callback(hObject, eventdata, handles) global tu d=10; n=2; im=double(tu); [r,c,td]=size(im); fr=im(:,:,1); fg=im(:,:,2); fb=im(:,:,3); aftr=homofil(fr,d,r,c,n); aftg=homofil(fg,d,r,c,n); aftb=hom

下面java代码:static Value3 v1, v2; 该怎么理解?请各位帮忙分析下。谢谢

问题描述 下面java代码:static Value3 v1, v2; 该怎么理解?请各位帮忙分析下.谢谢 class Value3 { static int c = 0; Value3() { c = 15; } Value3(int i) { c = i; } static void inc() { c++; } } public class Count { public static void prt(String s) { System.out.println(s); } Value3

代码-linq多表连接查询速度很慢,但我在数据库查询分析器中却是秒查,请各位大侠帮我分析下

问题描述 linq多表连接查询速度很慢,但我在数据库查询分析器中却是秒查,请各位大侠帮我分析下 with temp as ( select (case when SHIFTSCHEDULEID is null then (case when TICKET_SELL_TYPE=2 then (select COMPANY_ID from TBL_YD_SHIFT where SHIFTNUMBER= (select SHIFTNUMBER from TBL_SP_TICKET where tick

求救,DEV下为什么SDL中可以正常运行但是加载不出图片(图片和源代码在同一文件夹下)

问题描述 求救,DEV下为什么SDL中可以正常运行但是加载不出图片(图片和源代码在同一文件夹下) #include"SDL/SDL.h" #include const int SCREEN_WIDTH = 640; const int SCREEN_HEIGHT = 480; const int SCREEN_BPP = 32; SDL_Surface *message = NULL; SDL_Surface *background = NULL; SDL_Surface *scree

代码-在IE10下图片不能正常显示,IE其他版本都正常?

问题描述 在IE10下图片不能正常显示,IE其他版本都正常? <div class="logo_login"> <div class="logo_box"><img src="<c:out value="${webapp}"/>/themes/images/temp01.png"/></div> </div> 这样一段代码,在IE各个版本均可正常显示图片,

谁帮我分析下这些代码,我想替换链接地址怎么找文件位置,我是菜鸟,求帮助

问题描述 谁帮我分析下这些代码,我想替换链接地址怎么找文件位置,我是菜鸟,求帮助http://www.zyp369.com/member/login.php?gourl=http://www.zyp369.com/ask/这个页面,导航栏的地址,我想换掉,从首页进去点击导航,地址已经换好了,但是进入个人中心后,上面的地址还是不对,求帮忙

图片-谁能帮我看下这段代码什么意思?他有说过是配置文件,不过我没懂

问题描述 谁能帮我看下这段代码什么意思?他有说过是配置文件,不过我没懂 解决方案 就是一般的配置文件呀,用来程序动态读取数据的,数据维护简单方便,可以用来存储一些不太重要的数据, 具体实现可以用java,c#等等,相关java类有,XmlDocument,XmlElement 解决方案二: 存数据的文件,类似数组.json:只不过规则不同,不是key value了

代码分析-JAVA 求大神帮看下这段代码 怎么修改 救命啊

问题描述 JAVA 求大神帮看下这段代码 怎么修改 救命啊 真心看不懂 public static char[] a(char[] paramArrayOfChar) { char[] arrayOfChar1 = new char[12]; char[] arrayOfChar2 = new char[12]; arrayOfChar2[0] = '?'; arrayOfChar2[1] = '?'; arrayOfChar2[2] = 'o'; arrayOfChar2[3] = '/';