Question

J'ai une image.

Je voudrais revenir sur cette image, pixel par pixel, et un pixel qui n'est pas noir devrait être viré au blanc. Comment puis-je faire?

(python).

Merci!

Était-ce utile?

La solution

Vous devez utiliser la fonction point, qui existe précisément pour cette raison.

converter= ( (0,) + 255*(255,) ).__getitem__
def black_or_white(img):
    return img.convert('L').point(converter)

Autres conseils

La façon la plus efficace est d'utiliser la fonction de point

def only_black(band):
    if band > 0:
        return 255
    return 0
result = im.convert('L').point(only_black)

est ce que le documentation PIL dit au sujet de ceci:

  

Lors de la conversion d'une image à deux niveaux   (Mode "1"), l'image source est d'abord   converti en noir et blanc.   Les valeurs résultantes sont plus grandes que 127   puis réglé sur blanc, et l'image est   tramées. Pour utiliser d'autres seuils, utilisez   la méthode du point.

Vous pouvez consulter la bibliothèque suivante:

http://effbot.org/imagingbook/image.htm

En particulier:

im.getpixel(xy) => value or tuple

et

im.putpixel(xy, colour)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top