This project aims to detect defects in PCB (Printed Circuit Board) cards using image comparison techniques. The main goal is to identify differences between a reference PCB card and a test PCB card, which may indicate defects such as missing components or misplaced parts.
- Image Comparison: Utilizes various methods like histogram comparison, template matching, and structural similarity index (SSIM) to compare images.
- Alignment: Implements the Enhanced Correlation Coefficient (ECC) algorithm for aligning images and correcting small deformations.
- Visualization: Uses matplotlib to visualize results, including displaying reference images, aligned images, average images, and differences.
- Thresholding and Noise Reduction: Applies thresholding to highlight differences and uses morphological operations to reduce noise.
- Edge Margin Handling: Implements edge margin to prevent displaying edge differences as rectangles due to snapshot quality issues.
- Histogram Comparison
- Template Matching
- Feature Matching
- Structural Similarity Index Measure (SSIM)
- Absolute Difference
- Substract
- main.py-
Not: This code may not yield optimal results with all images. In my scenario, I work with PCB cards and strive to capture clear snapshots, adjusting certain parameters manually to improve performance.