|
Hi please help us,
We have captcha images with us, we have to remove noise and extract data present in captcha image.
Please give us suitable image processing algorithm or tell us where we can get those algorithms and give some guidance how to approach this task.
Regards,
Balu.
|
|
|
|
|
It depends on the type of noise, and on what is the information that you want to extract from the image.
There is not only one type of algorithm,
often the cleaner algorithm can be slitted in more processing step (every time to remove a particular effect).
So, often, you have to write your personal algorithm.
But, of course, you can base your research on some standard processing.
Some keywords:
white noise, gaussian noise, image processing, filters, 2D filters, high pass/low pass, median, segmentation, fft, RGB/HSV image transformation,...
Cheers,
Russell
|
|
|
|
|
Russell,
Thanks for your reply.
The noise is nothing but in captcha image there will be vertical and horizontal line. As we all know the captcha image is generated with some irregular lines(noise) and a text on that.
I want extract the text present on the image by segmenting the image and then i have to convert it into string.
Give reply as early as possible that would help us.
Regards,
Balu.
|
|
|
|
|
I think that you can use the FFT-2D.
there is a simple way to find a sample image (like a char) on a picture simply matching the FFT-2D of the sample image with the fft of the given image.
The match can be more smart if you compare not simply the fft coefficients, but some coefficients ratio:
if you normalize every coeff by the coeff(0) [at null frequency] you will obtain coefficients that are indipendent from traslations and scalatures. To understand this look at the fft properties, and what happens to the coefficients with different scale, rotations, traslation.
It surely wiil work on this type of images
http://captchas.net/logo.png
your job can became very complex if the char are distorted, you have to understand how is working the distorsion and then find a righ way to recognise the chars.
see this strage deformations
http://en.wikipedia.org/wiki/Captcha
This can give you some ideas.
http://www.adastral.ucl.ac.uk/~icox/papers/2001/TransIP01.pdf
Cheers,
Russell
|
|
|
|
|
Thank you Russell, i will check it out with the links u mentioned here.
Please keep mailing if any idea comes and give reply to my message, i will be great full to.
Thanks lot for your quick response.
Regards,
Balu.
|
|
|
|
|
Ok Russell to remove noise is complex we will keep that one aside.But how to extract characters which are in the captcha image.
One of my friend given a suggestion that we can extract data from image which is present on image using image processing algorithms.Give reply if u have any idea.
Regards,
Balu.
|
|
|
|
|
The suggestion to use the FFT2D wasn't to remove the noise, but to extract char from the image.
It will work also with a low level of noise.
If the noise disturbs this processing, you can try to remove it with a pre-processing step, using some segmentation algorithm. I think that a good pre-processing is to find a good way to transform the RGB image in a monocromatic one.
Cheers,
Russell
|
|
|
|
|
Thanks Russell,
Your information will help us a lot.We are very much tank full to u.
I will study about FFT2D to remove noise from the image,mean while if any doubts come shall i give reply here or if any personal mail-id u will give to us we send the query to the mail id and it will be help full to us.
Regards,
Balu.
|
|
|
|
|
You are wellcame
Cheers,
Russell
|
|
|
|
|
Russell u haven't given ur personal mail id, if u give it would help us if any doubts come tomorrow.
u can understand my problem, if you willing only give...................
Ok Russell, i have to leave my office today we will meet tomorrow.Please mention timings at what time you are available to us.
Iam thinking that positive response i will get from u for this message.
By Russell,
Regards,
Balu.
|
|
|
|
|
I need to run multiple .bat files(in specific order, sychronously) from my VC++
windows app. I also want to hide the DOS command window so that users don't
see them. what i have to do
Arise Awake Stop Not Till ur Goal is Reached.
|
|
|
|
|
Use ShellExecuteEx . set SHELLEXECUTEINFO-->nShow to SW_HIDE .
|
|
|
|
|
yes i used the shellexecex to run an exe in which i called the batch file inside the exe. here i have to hide the dos window
Arise Awake Stop Not Till ur Goal is Reached.
|
|
|
|
|
deeps_cute wrote: yes i used the shellexecex to run an exe in which i called the batch file inside the exe. here i have to hide the dos window
But, you have not followed , what I said, Following snippet just works perfectly for me,
SHELLEXECUTEINFO ShExecInfo;
ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
ShExecInfo.fMask = NULL;
ShExecInfo.hwnd = NULL;
ShExecInfo.lpVerb = _T("open");
ShExecInfo.lpFile = _T("c:\\Test.bat");
ShExecInfo.lpParameters = NULL;
ShExecInfo.lpDirectory = NULL;
ShExecInfo.nShow = SW_HIDE;
ShExecInfo.hInstApp = NULL;
ShellExecuteEx(&ShExecInfo);
|
|
|
|
|
#include "stdafx.h"
#include <shellapi.h>
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
HINSTANCE res = ShellExecute(
NULL,
"open",
"C:\\BatchFile.bat",
NULL,
NULL,
SW_HIDE
);
if (res <= (HINSTANCE)32)
{
MessageBox(NULL, "Failed!", NULL, MB_OK|MB_ICONSTOP);
}
return 0;
}
Steve
|
|
|
|
|
hi my code is
SHELLEXECUTEINFO ShExecInfo = {0};
ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);
ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;
ShExecInfo.hwnd = NULL;
ShExecInfo.lpVerb = "open";
ShExecInfo.lpFile = "C:\\Program Files\\OpenVPN\\bin\\sample.exe";
ShExecInfo.lpParameters = "";
ShExecInfo.lpDirectory = NULL;
ShExecInfo.nShow = SW_HIDE;
ShExecInfo.hInstApp = NULL;
ShellExecuteEx(&ShExecInfo);
WaitForSingleObject(ShExecInfo.hProcess,INFINITE);
inside sample.exe i am having a batch file
Arise Awake Stop Not Till ur Goal is Reached.
|
|
|
|
|
In this case, window for sample.exe will be hidden.
deeps_cute wrote: inside sample.exe i am having a batch file
You could apply same code there ,too. How you are executing those batch files ?
|
|
|
|
|
deeps_cute wrote: inside sample.exe i am having a batch file
Well you need to change the code in the EXE (sample.exe) to code like mine or yours.
By the way, remember to call CloseHandle on hProcess after you're done with it or you'll leak it.
Steve
|
|
|
|
|
Hi!
I have used listview control. On any item click event I want two things.
first I want to display the Location on static text control on one window which is hide at first time(not working) , and in the second post message I display one dialog(working).
Second thing I have done but for first I still confuse or not happen?
for first dialog on which event I should have display the static text?
for sending control on both window i had used PostMessage.
if any body want code snippest then welcome.
Thanx in Advance.
"Success lies not in the result , But in the efforts !!!!!"
Amit Mistry - petlad -Gujarat-India
|
|
|
|
|
amitmistry_petlad wrote: for first dialog on which event I should have display the static text?
for sending control on both window i had used PostMessage.
if any body want code snippest then welcome.
Try userdefined message and communicate between two!
|
|
|
|
|
Thanks alok thanks som
"Success lies not in the result , But in the efforts !!!!!"
Amit Mistry - petlad -Gujarat-India
|
|
|
|
|
I'm using GetIfTable() to find out what network adapters are on a PC and generally it works fine. However, I get some odd results on a few customers' computers.
Normally I get back an array of MIB_IFROW structures, whose dwIndex member are numbered sequentially, starting from 1. For example, on a PC with two network cards I get back something that looks like this:
dwIndex = 1 ; dwType = MIB_IF_TYPE_LOOPBACK
dwIndex = 2 ; dwType = MIB_IF_TYPE_ETHERNET
dwIndex = 3 ; dwType = MIB_IF_TYPE_ETHERNET However, some customers are getting this:
dwIndex = 1 ; dwType = MIB_IF_TYPE_LOOPBACK
dwIndex = 0x00020003 ; dwType = MIB_IF_TYPE_PPP Anyone know what exactly this kind of network adapter is and why it's not identifying itself as MIB_IF_TYPE_ETHERNET?
My understanding of PPP was never real hot but AFAICT, it's a data link layer protocol and so can be used instead of Ethernet (although there is a hack that lets PPP be simulated over an Ethernet network). What common scenarios are out there where people would be running PPP instead of Ethernet?
And why does this guy's adapter have the weird dwIndex. It's almost like it's trying to shove 2 cards into the one MIB_IFROW record
0 bottles of beer on the wall, 0 bottles of beer, you take 1 down, pass it around, 4294967295 bottles of beer on the wall.
Awasu 2.2.5 [^]: A free RSS/Atom feed reader with support for Code Project. 50% discount on the paid editions for CP members!
|
|
|
|
|
I have no personal experience of this enumeration, but PPP is the protocol usually used in dial-up, so I assume that you may see this on computers with dial-up network options.
Peter
"Until the invention of the computer, the machine gun was the device that enabled humans to make the most mistakes in the smallest amount of time."
|
|
|
|
|
cp9876 wrote: PPP is the protocol usually used in dial-up
Hmmm, I seem to have vague memories of that. Jeez, it's been a long time since I was on dial-up
So I guess that means a card could identify itself as Ethernet or PPP depending on what it was plugged in to. Sigh...
0 bottles of beer on the wall, 0 bottles of beer, you take 1 down, pass it around, 4294967295 bottles of beer on the wall.
Awasu 2.2.5 [^]: A free RSS/Atom feed reader with support for Code Project. 50% discount on the paid editions for CP members!
|
|
|
|
|
PPP is normally used over a modem link, so I would have thought that you would see this for modem cards configured for network access (not ethernet cards), but I'm guessing!
Peter
"Until the invention of the computer, the machine gun was the device that enabled humans to make the most mistakes in the smallest amount of time."
|
|
|
|