TIL ImageMagick: Make image background transparent
Over the years, I have come to love the flexibility and power of ImageMagick. I have very few ImageMagick incantations memorized but I know when it can help and there are examples galore. In this TIL, I record the ImageMagick incantation I borrowed from this forum post to make an image have a transparent background for an important purpose.
I have used this approach with a black and white headshot.
✨ The Incantation
convert image.png -fuzz 10% -transparent white tmp0.png
convert tmp0.png -alpha extract tmp1.png
convert tmp2.png \
-define connected-components:mean-color=true \
-define connected-components:area-threshold=30 \
-connected-components 4 \
tmp3.png
convert image.png tmp3.png -alpha off -compose copy_opacity -composite result.png
🤓 Annotated Incantation
convert image.png -fuzz 10% -transparent white tmp0.png
Here's what went into that command:
Here's the output:
On the image above, we used this command:
convert tmp0.png -alpha extract tmp1.png
...for this result:
We take one more pass at it:
convert tmp1.png \
-define connected-components:mean-color=true \
-define connected-components:area-threshold=30 \
-connected-components 4 \
tmp2.png
That looks like this:
🔮 Finishing Touches!
convert image.png tmp2.png -alpha off -compose copy_opacity -composite result.png
As you may recall, this whole thing started with:
The final result:
🎉
ℹ️ About this TIL snippet: Created 2023-04-22T03:44:35+00:00 · View the source