Image Preprocessing

Input plaatjes worden gepreprocessed met als doel om het ruis eruit te halen. Hierdoor kan ReadImage de nummers in het plaatje beter herkennen.

module en unittesten

De verschillende operaties die worden uitgevoerd op een input plaatje.

De blurs worden met name toegepast om de gaten tussen de segments op te vullen. Met binary thresholding heb je een threshold waarde; alle pixels onder deze waarde worden wit, alles daarboven worden zwart. Otsu’s binarization helpt met het bepalen van die threshold waarde. De threshold waarde kan ook met de hand aangepast worden.

Het preprocessen van plaatjes gebeurt in de package Preprocessor (heette voorheen “Blur). Hierin zit de class Preprocess. Deze class bevat een functie preprocess_image (heette voorheen “blur”). Hierin gebeuren alle hierboven genoemde operaties op een input plaatje.

De effectiviteit van het preprocessen kan worden geevalueerd met het script in EvaluateReadDisplay.py (..RekenRobotSrcDisplayLezen). Deze script opent input-plaatjes uit een folder en haalt ze vervolgens door de Preprocessor en ReadImage heen. Testplaatjes kunnen worden gegenereerd met CombineImages.py (..RekenRobotSrcDisplayImageSplitterAndGenerator).

De volgende link bevat nadere uitleg en tutorials over het bewerken van plaatjes in OpenCV:

http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_imgproc/py_table_of_contents_imgproc/py_table_of_contents_imgproc.html#py-table-of-content-imgproc