A reproducible Python/OpenCV script generates synthetic 720×440 component images, varies position and lighting, converts BGR→HSV, measures coloured-pixel ratios in five fixed ROIs (top_clip, lower_clip, seal, orientation, surface_mark) and returns PASS/FAIL — with REVIEW for extreme brightness (mean grey < 32 or > 156). It saves annotated images and a synthetic evaluation CSV/JSON.
No machine-learning model has been trained. Results on artificial images must not be described as accuracy on real factory components.
Output frames · seed 33
Input vs annotated, for all five scenarios
Rendered in your browser with the same engine as the simulator — like the OpenCV script's outputs/ folder.