07-09-2009 08:13 AM
Hello,
I am writing a VI that is taking a single picture from a camera and then compares it with a template extracted before that.
The camera is looking at LCD display and and the purpose of the matching is to find whether there is a dead pixel or sth wrong at the display. The problem is that the comparison doesn't work as expected.
I will illustrate this with just one examples with picture attached:
- At step 1. the template is created. (you can see RUN 2 at the top left corner at the display)
- At step 2. pattern matching is performed with the same mode of the LCD but a little bit tilted(score - 972 achieved)
- At step 3. the mode is changed (you can see RUN 3 at the top left corner at the display, everything else is the same) - but however a bigger score of 974 is achieved
Any explanation of this and some suggestions that can improve my program !?
Thanks a lot
Iliya G.
07-10-2009 07:47 AM
Hi Iliya,
maybe the pattern matching is not the best choice to identify if the mode is run2 or run3.
As it seems you select the whole display area as your region of interest.
The pattern matching algorithm will look for an object that has similar characteristics
like histogram values, edges etc.
If you like to distinguish the modes I would suggest you take a look at the
optical character recognition (OCR) functions.
But if you want to search for dead pixels or small distortions/faults then you should
do a particle analysis that leaves only small particles remaining.
I would also try to improve the lighting of the display because contrast does not look too
good on the pictures.
Hope this helps,
David
07-13-2009 01:43 AM
Hi David,
I went through this OCR examples that you mentioned but in fact I find them very annoying because in many cases the output string depends on how you draw your ROI. Please, find an example below and could you please tell me if i am doing sth wrong, but in fact i don't think so.
When I try to read the characters separetely, everythings goes ok - it finds r,u,n and 1.
But when I make the ROI bigger in order to contain all the characters, the output is the one at the picture. Any ideas?
Thanks,
Iliya