Development of Image Analysis Software for Automated Optical Inspections

Development of Image Analysis Software for Automated Optical Inspections

Manufacturing, Science
C/C++, Qt


ScienceSoft has developed an application for the electronics industry aimed at ensuring the quality of printed circuit assemblies (PCAs) by means of machine vision.


The application was to perform fast and efficient quality inspection of printed circuit assemblies right on the conveyor belt and detect if any of the PCA components were missing.


A team of a project manager, a business analyst, 3 senior С++ developers, a senior UI designer, and a software testing engineer have delivered a desktop application based on image analysis algorithms, complemented with a simple and intuitive GUI. In particular, ORB algorithm has been used for feature detection, and a combination of algorithms (perceptual hash algorithm, PSNR and histograms comparing) have been employed to compare regions of interest in the reference template and in the image under inspection.

How it works

The user provides a reference board template, putting on all the elements to be inspected with a tool that allows marking objects of three main shapes:

  • Elements with a round cross-section (mainly capacitors)
  • Rectangular elements (chips, diodes, transistors)
  • Dumbbell-shaped elements (resistors)

The scale of a reference template can be changed so as the smallest components could be properly marked. The sensitivity of the detection is adjusted depending on the amount of noise.

After preparing the reference template with all the elements located, the user can proceed to the analysis of printed circuit assemblies of the same type as the reference PCA. Comparing these images with the reference assembly, the application defines defected ones and shows the locations of missing components in detail. 

automated optical inspection of pcas 1


ScienceSoft’s team has successfully developed image analysis software for automated optical inspection of printed circuit assemblies. The application offers considerable opportunities for the SMT manufacturing industry, providing a fast and reliable solution for PCA quality control.

Technologies and Tools

C++, Qt 5, OpenCV library

Need help with a similar project?

Drop us a line, and our rep will contact you within 30 minutes to arrange an initial discussion.

More Case Studies

Development of Alternative Web Browser Software for Mac </a> </p> <p class="cs-description">A Mac version of the all-in-one web browser specifically suitable for music connoisseurs, video lovers and people with an active online presence. ScienceSoft also implemented a system of updates for Windows and Mac as well as a solution for torrents managing from the browser.</p> <a href="" class="btn btn-link-arrow btn-link-arrow--right cs-learn-more-btn"> LEARN MORE </a> </div> </div> <div class="cs-item-wrapper"> <div class="cs-image-container"> <a href="" class="cs-image-wrapper"> <img class="lazy cs-image" width="200" height="200" src="data:image/svg+xml;base64,CiAgICAgICAgICAgIDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMjAwIDIwMCc+CiAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD0nMjAwJyBoZWlnaHQ9JzIwMCcgZmlsbD0nI2YyZjJmMicvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICA=" data-src="/boss/images/948b4f5b-9046-4f88-a8a1-ea5f1095f6cfinvention_machine_with_semantic_search_small.jpg" alt="Development of a Complex Web Product for Semantic Analysis"> </a> </div> <div class="cs-content"> <p class="cs-title accented-text"> <a href="">Development of a Complex Web Product for Semantic Analysis</a> </p> <p class="cs-description">A number of products to help big companies improve their innovation process with the help of semantic analysis of natural language texts including 15 mln worldwide patents, 3,000 cross-disciplinary scientific &#039;deep web&#039; websites and the database of 8,000 scientific effects. The software allows engineering, marketing and production personnel to find more cost-effective, competitive and higher-quality system designs.</p> <a href="" class="btn btn-link-arrow btn-link-arrow--right cs-learn-more-btn"> LEARN MORE </a> </div> </div> ">