: Étape 9 Bonus : traitement d’images
Pour faire le traitement de l’image, j’utilise SimpleCV et Python. SimpleCV (Simple Vision par ordinateur) est construit au sommet de la très populaire OpenCV.
Installer SimpleCV, enregistrez l’image rouge des résistances, puis ouvrir la SimpleCV console puis tapez :
>>image = Image("resistor_image_from_instructables.jpg") #file or URL >>hue_dist_img = image.hueDistance(0) #How unlike red is the colour >>hue_dist_img.show()
Vous devriez voir que le fond rouge est maintenant passé noir et les résistances sont en blancs. Nous sommes correctement différencier les résistances de l’arrière-plan.
Et maintenant pour la version plus complète, qui trouve en fait les résistances.
>>image = Image("resistor_image_from_instructables.jpg") #file or URL >>hue_dist_img = image.hueDistance(0) #How unlike red is the colour >>resistor_zones_img = hue_dist_img.binarize() #turn into binary image >>resistor_zones_img = resistor_zones_img.erode().dilate() #remove specks of noise >>resistor_blobs = resistor_zones_img.invert().findBlobs() #segment image >>for b in resistor_blobs: >> print "Area = "+str( b.area())+ " Centroid = (%.1f, %.1f)" %b.centroid() >>resistor_blobs.show(width=3)#show the blobs, with a 3 pixel green border
Le résultat final sont « blobs ». Ceux-ci contiennent des informations sur la position des éléments détectés dans l’image.
Ces taches pourraient alors servir pour des tâches que telles localiser le texte pour lire la valeur de la résistance automatiquement à l’aide de OCR, pour mesurer la taille de la résistance ou de commander un robot pour ramasser de la résistance.