Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

Best way to detect individual digits on LCD display?

I'm trying to design a script that can test functionality of LCDs by checking the individual digits that are displayed (I can cycle through several test displays, example image attached). I am new to vision so not sure of the best techniques to use.

 

I've had success doing this using NI Vision Assistant, in two methods, but both can be very unreliable. 

 

1) create ROIs around each digit's expected location, and a template image of the digit. I used this originally but changed method as I thought that having individual ROI and template per digit would be increasing the likelihood of a missed match. The VA script included edge detection to determine the location of the LCD, coordinate systems as reference for the ROI locations, and then pattern matching against each individual template.

2) create single large ROI around the entire LCD, and a template of the entire LCD. Again using edge detection/coord system as reference points, and pattern match to determine a good LCD.

 

Both techniques can be unreliable and cause high numbers of false failures. Is there a better way to do this task, or any tips anyone has to imrpove reliability of the tests?

0 Kudos
Message 1 of 6
(1,566 Views)

Do you have the Vision Development Module (VDM)? If so, see below as a start.

https://www.ni.com/docs/en-US/bundle/ni-vision-labview-api-ref/page/imaqvision/instrument_readers_pa...

https://www.ni.com/docs/en-US/bundle/ni-vision-labview-api-ref/page/imaqvision/imaq_read_lcd.html

https://forums.ni.com/t5/LabVIEW/LCD-image-reading/td-p/2578785

 

-AK2DM

~~~~~~~~~~~~~~~~~~~~~~~~~~
"It’s the questions that drive us.”
~~~~~~~~~~~~~~~~~~~~~~~~~~
0 Kudos
Message 2 of 6
(1,547 Views)

@AnalogKid2DigitalMan wrote:

Do you have the Vision Development Module (VDM)? If so, see below as a start.

https://www.ni.com/docs/en-US/bundle/ni-vision-labview-api-ref/page/imaqvision/instrument_readers_pa...

https://www.ni.com/docs/en-US/bundle/ni-vision-labview-api-ref/page/imaqvision/imaq_read_lcd.html

https://forums.ni.com/t5/LabVIEW/LCD-image-reading/td-p/2578785

 

-AK2DM


that looks ideal thankyou! I do have Labview and I'm 99% sure I have VDM, but the application I'm doing this for is actually in C, so I was exporting from Vision Assistant into C code. Is there a way to do this read LCD stuff in C or is it just a Labview VDM thing?

0 Kudos
Message 3 of 6
(1,512 Views)

Just VDM, no C that I am aware of.

 

-AK2DM

~~~~~~~~~~~~~~~~~~~~~~~~~~
"It’s the questions that drive us.”
~~~~~~~~~~~~~~~~~~~~~~~~~~
0 Kudos
Message 4 of 6
(1,500 Views)

You should be able to find the equivalent functions in C. 

But you will need to integrate them together for the same functionality. 

Amit Shachaf
0 Kudos
Message 5 of 6
(1,496 Views)

Hi,

1- Draw a ROI around the LCD.

2- Use OCR tools in processing functions to read LCD characters.

Best regards

0 Kudos
Message 6 of 6
(1,282 Views)