Plugin developers themselves. Don't forget - Quality is our advantage!
I expect you are smart enough and you already know some programming languages. It can be painful for you - as for beginner, but you can nothing to lose, just to earn. So, JDK is here:
Check my tutorials how to work with SVN:
but you can also use the integrated Version Control in IntelliJ IDEA.
src
folder - this build.xml is called when new FRD version is being releasedfreerapid-plugintools\lib-src\plugin-api-src.zip
this.httpFile.setNewURL(....); //to setup new URL this.httpFile.setPluginID(""); //to run detection what plugin should be used for new URL, when file is in QUEUED state
PlugUtils.recognize
. We call gocr.exe
this way exec(“gocr.exe ” + commandLineOptions + “ -f ASCII -”);
. You can use -i to test it directly from system. See gocr.exe -help
for more details. Note: gocr.exe does not take jpg pictures or something like that. It's using PBM format - you can use Adobe Photoshop to generate this format.getPluginService().getPluginContext().getQueueSupport().addLinksToQueue(httpFile, uriList);
considerAsStream
httpclient propertyIt's necessary to add dependency in plugin.xml after <attributes> section:
<requires> <import plugin-id="recaptcha.com" plugin-version="1.0" match="greater-or-equal"/> </requires>
In build.xml: In target “compile” - javac task - add another sourcepath to /devapp
<sourcepath location="../devapp"/> <sourcepath location="../recaptcha"/>
Then you can use cz.vity.freerapid.plugins.services.recaptcha.ReCaptcha plugin and call its methods. After that manual build plugin with Ant task should work properly.
Here are some steps from my experience:
a) creating a training set
1. Trim every character from the picture, remove background color, probably with every same size
2. Build a structure many mappings characters' picture→character + convert character picture into black and white or gray
b) testing
1. extract every character from the captcha, trim, convert it into BW or gray
2. compare character against training set using Euclidean distance method -
I usually counted it this way:
for all x,y on the same sized pictures -
Sum ( (picture1.point[x,y].value - picture2.point[x,y].value)^2)
training pattern with lowest sum is the best matching picture against testing picture
See Netload.in CAPTCHA recognition or older versions of Bagruj recognition.