Question Contour d'image en utilisant python / PIL


J'ai une photo couleur de pomme, comment puis-je ne montrer que son contour (intérieur blanc, fond noir) avec python / PIL?


16
2018-02-16 22:02


origine


Réponses:


Quelque chose comme ça devrait fonctionner.

from PIL import Image, ImageFilter

image = Image.open('your_image.png')
image = image.filter(ImageFilter.FIND_EDGES)
image.save('new_name.png') 

Si cela ne vous donne pas le résultat que vous recherchez, vous essayez d’implémenter la détection des contours de Prewitt, la détection des contours de Sobel ou la détection des contours de Canny en utilisant PIL, Python et d’autres bibliothèques. question et le suivant Exemple .

Si vous essayez de faire une détection / analyse de particules plutôt que de simplement détecter les contours, vous pouvez essayer d'utiliser py4ij appeler la méthode ImageJ que vous liez pour vous attendre à obtenir le même résultat, ou essayez une autre bibliothèque Python d'analyse des particules EMAN alternativement, vous pouvez écrire un algorithme de détection de particules en utilisant PIL, SciPy et NumPy.


26
2018-02-16 22:55



Si votre objet et votre arrière-plan sont assez contrastés

from PIL import Image
image = Image.open(your_image_file)
mask=image.convert("L")
th=150 # the value has to be adjusted for an image of interest 
mask = mask.point(lambda i: i < th and 255)
mask.save(file_where_to_save_result)

Si le contraste est supérieur à un (de 3 couleurs), vous pouvez diviser l'image en bandes au lieu de la convertir en échelle de gris.

si une image ou un arrière-plan est assez compliqué, un traitement plus sophistiqué sera nécessaire


4
2018-03-11 22:05