Help us understand the problem. What is going on with this article?

ImageMagick で画像のフチの背景色を切り取って透明に

More than 3 years have passed since last update.

コマンドラインで背景色を取り除きたい。

input200.png

output200_tile.png

な感じにしたい。※

例えば、大量に白背景の画像を透明背景に変換しなくてはならない場合に便利。

コマンド

ImageMagick を使う。

convert input.png \
  -alpha set \
  -background none \
  -channel RGBA \
  -fill '#00000000' \
  -fuzz 5% \
  -draw 'matte 1,1 floodfill' \
  output.png

-draw の行を読む通り、 1,1 の座標からペイントツールのバケツのように #00000000 (透明) で塗りつぶす。
-fuzz で塗りの曖昧さを調整できる。

ImageMagick のインストール方法

特に解説は不要だと思うけど念のため。
imagemagick というパッケージに含まれている事が多い。
パッケージマネージャからインストールすればいい。

OS X ユーザで Homebrew を利用している場合

OSX
$ brew install imagemagick

Debian 系

APT
$ sudo apt-get install -y imagemagick

RHEL 系

Yum
$ sudo yum install ImageMagick

以下略。

失敗例

次のような単純な置換だとうまくいかない。
『全ての白色を透明に』するので、黒線の内側まで透明になってしまう。
これでは意図したものではない。

$ convert input200.png -fuzz 5% -transparent white output200_failed.png

output200_failed_tile.png

脚注

※ 2 つめの画像は『透明』をわかりやすく表現するために PhotoShop 風のチェックタイルを背景にしているので、
実際にはウソがある。(本当に透明にすると白色と見分けがつかないので。)

ところで、このようなタイル背景は以下のように composite コマンドの pattern:checkerboard で合成できる。

add-tile
$ composite -compose Dst_Over -tile pattern:checkerboard input.png output_tiled.png

参考

機能は多いので、しっかり読むと時間がすぐに融ける。

http://www.imagemagick.org/Usage/draw/
http://www.imagemagick.org/Usage/compose/

ikyu
「こころに贅沢を」をコンセプトに一休.com、一休レストランなどのサービスを提供しています。
https://www.ikyu.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした