LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Pixel detection with application to PCB

Good day everyone, I would just like to ask for help in our project. Our project is about PCB error detection, its function is to detect if the PCB image(JPEG format) has open or shorted wires.

 

Currently, we already have created a subvi for grayscaling the image so from there the idea for the next step is we are to determine if the black pixels are part of a wire(line), pad, and via. If the black pixel is determined to be a part of the line, then the program/VI will follow its thickness/width until it reaches either a pad/via or the line just stopped. Furthermore, if the black pixel is determined to be a part of a pad, the program/VI will also follow its pixel path to its end point. If the end point is a pad (meaning the wire from the pad end withs a pad) it is deemed to be good but if not (the line from the pad just stopped without detecting a pad at the end) it is cut or rather open.

 

 

Attached here is a sample PCB board layout image in JPEG format. 

 

Thanks

0 Kudos
Message 1 of 8
(2,900 Views)

pinkman,

I recommend starting with IMAQ Image to Array.  More information on this function can be found here: http://zone.ni.com/reference/en-XX/help/370281P-01/imaqvision/imaq_arraytoimage/
Feel free to implement your logic to traverse the array which represents your pixels and make decisions on whether the board passes or fails.

Have fun!

0 Kudos
Message 2 of 8
(2,845 Views)

Chris,

Thank you sir, that's what we have been trying to do right now.  Another question sir, is it possible to compare the copper traces only without comparing the whole PCBs? so that when the images are not aligned the two patterns can still be compared disregarding its position.

 

-Ralph

0 Kudos
Message 3 of 8
(2,826 Views)

You are not giving enough information on your project.

Do you want to use NI Vison or just the basic Labview?

 

And are you trying to compare a reference PCB layout with an actual photo of a PCB?

You provided only one picture but in your last message you talk about comparing several images.

 

0 Kudos
Message 4 of 8
(2,819 Views)

More information about your application would help, what NI Software/Toolkits are you using?

0 Kudos
Message 5 of 8
(2,801 Views)

Right now sir we are using Vision and the basic. Sir basically our goal is to compare two PCB images (one from Eagle and the other is an photo image from the actual PCB). From there, we want to show where the differences are. Then the differences will be categorized if it is opened wire, shorted wire, and etc. Lastly, it will show whether the PCB will pass or fail based from the percentage difference. I'm not sure if this is what you mean by application.

 

Thank you sir.

0 Kudos
Message 6 of 8
(2,782 Views)

Yes sir, we are trying to compare a reference PCB image from Eagle (converted into jpeg) and an image captured from an actual PCB (also in jpeg). We are only comparing two images at a time.

 

We are trying to use both Vision and basic LabView. We were able to apply the vi that converts images into arrays.

 

Thank you.

0 Kudos
Message 7 of 8
(2,781 Views)

Hi pinkman,

 

One possibility would be to use the IMAQ threshold function to convert the PCB images into a binary image with the PCB trace as one color, and the PCB backing as a different color. Then, you can experiment with using the golden template comparison function to compare and locate the differences between the CAD and actual image.

 

Also, for your future reference, please post any vision-related issues (involving IMAQ, Vision Development module, Vision Builder for Automated Inspection, etc) to the Machine Vision boards. Thanks!

0 Kudos
Message 8 of 8
(2,759 Views)