How to make background image transparent using python


An example of how to make background image transparent using python (image used here open-science-logo.png).

<!DOCTYPE html>
<html lang="en">
<body style="background-color: #3c3d41;">

<img src="open_science_logo.png" style="width:500px;margin: 200px 500px;">

</body>
</html>

Rendre l'arrière-fond d'une image transparent avec python Rendre l'arrière-fond d'une image transparent avec python
Rendre l'arrière-fond d'une image transparent avec python

Code python based on Pillow module

from PIL import Image

img = Image.open('open_science_logo.png')
img = img.convert("RGBA")
datas = img.getdata()

newData = []
for item in datas:
    if item[0] == 255 and item[1] == 255 and item[2] == 255:
        newData.append((255, 255, 255, 0))
    else:
        if item[0] > 150:
            newData.append((0, 0, 0, 255))
        else:
            newData.append(item)
            print(item)


img.putdata(newData)
img.save("open_science_logo_transparent.png", "PNG")

References