ひとりぶろぐ

価値ある情報をユーザー視点で発信するブログ

画像の周囲の余白を自動で瞬時にトリミングする方法

      2016/05/13

How to trim the extra white frame around the image in a second 00007

周囲に余白(白枠)のある画像を、画像編集ツールでトリミングする作業に追われたことはありませんか?

僕は面倒で周囲の余白を残したままブログに使ってしまうことが多いのですが、ページが間延びして本来はよろしくありません。

何とか自動化できないかと調査した結果をご紹介します。

面倒な画像の周囲の余白のトリミングを自動化する

ブログを運営していると、メーカーが広報素材として用意した物撮り写真を使う機会は少なくないものです。

広報素材によくあるパターンに、白い背景で撮影した画像があります。

白く飛ばした背景の中に、ポツンと対象が写っている画像。いわゆる、白バック飛ばし。

How to trim the extra white frame around the image in a second 00003

余白となる周囲の白い背景部分は広めに取ってあることも少なくなく、それをそのままブログに使うと、ページが間延びしてしまいがちです。

余白を詰める場合、通常はPhotoshopPixelmator、Preview.appなどの画像処理ソフトにあるトリミングツールを使います。

How to trim the extra white frame around the image in a minute 00002 2

しかし、手動で処理をするとなると結構面倒なものです。

どうにか楽にできないかと調査したところ、自動化が可能でした。

画像処理業界のビクトリノックス・ImageMagickを使う

こうした画像処理の自動化に使われるツールにImageMagickがあります。

ImageMagickに含まれるconvertを使うと、余白削除の自動化が可能です。

convert -trim -fuzz 5% +repage someimage.jpg someimage_trimmed.jpg

「-trim」というオプションがそれで、「-fuzz」オプションは閾値の設定です。

実際の処理例が以下です。

How to trim the extra white frame around the image in a minute 00001

余白の部分は白に限らず、均一な地色であれば等しく処理が可能です。

アプリケーション化で使いやすく

ImageMagickのconvertはコマンドラインで使うものですので、普通の人にはちょっと使いづらいのが難点。

そこで、OS X用のアプリケーション化をしてみました。名付けて「AutoTrimmer」。

How to trim the extra white frame around the image in a second 00004

ドラッグ&ドロップモード

「AutoTrimmer」は、アプリケーションアイコンに画像をドラッグ&ドロップすると処理を開始します。

複数画像をドラッグ&ドロップすると、それらを順次処理します。

処理済み画像の保存先は、デスクトップ上のフォルダ「AutoTrimmer」固定です。

フォルダがなければ作成します。

クリップボード参照モード

クリップボードに画像へのURLをコピーしてから「AutoTrimmer」を起動すると、URLから画像をダウンロードして処理を開始します。

URLが複数行にわたる場合は、それを連続的にダウンロードして順次処理をします。

ダウンロード先、処理済み画像の保存先は、デスクトップ上のフォルダ「AutoTrimmer」固定です。

フォルダがなければ作成します。

「AutoTrimmer」のインストール

AutoTrimmerは、内部でImageMagickのconvertコマンドを呼び出していますので、先にImageMagickのインストールが必要です。

以下のサイトからダウンロードできます。

「ImageMagick 6.9.1-0 for Mac OS X 10.5 – 10.10 (7.5 MB)」と「ImageMagick 6.9.1-0 for Mac OS X 10.5 – 10.10 Requires XQuartz. (7.8 MB)」の2種類ありますが、GUIは使わないので前者でOKです。

Homebrewをお使いなら、brewコマンドでインストールできます。

brew install imagemagick

ImageMagickのインストールが終了したら、以下より「AutoTrimmer」をダウンロード。解凍後、アプリケーションフォルダなどにコピーしてください。

OS X Yosemite(10.10.5)で動作確認しています。

初回起動時は普通に起動しようとすると以下のダイアログが表示されて起動できません。

How to trim the extra white frame around the image in a second 00005

「AutoTrimmer」のアプリケーションアイコンを右クリックないしはCtrl+クリックすると表示されるコンテキストメニュー上の「開く」から起動してください。

How to trim the extra white frame around the image in a second 00006

免責事項

「AutoTrimmer」は自己責任でお使いください。

あとがき

ブログを書いているときに、いつも「面倒だなぁ、これがこうなればなぁ」と考えていたことを、今回実現してみました。

ちなみに、「AutoTrimmer」の実体はRubyスクリプトで、それをアプリケーション化するために「Platypus」(カモノハシ)を使いました。

「Platypus」は、軽量プログラミング言語を使ってGUI付きのOS X用のアプリケーションを作れる開発者用のフロントエンド作成ツール。

大概はファイルをドラッグ&ドロップしてRuby / Pythonなどで処理するために使います。

AppleScriptの中でdo shell scriptを使い、スクリプトをエスケープしながら四苦八苦してRuby / Pythonを呼び出すDropletより圧倒的に書きやすいです。

処理中に特別な書式のテキストを標準出力に出力するだけで、OS Xの通知を飛ばしたり、プログレスバーを制御したりもできます。

How to trim the extra white frame around the image in a second 00007

2003年からある歴史のあるアプリケーションで、僕もかなり長いこと使っています。

その前身であるDropScriptも使っていました。とても好きな部類のソフトウェアなので、僕と趣味嗜好が似ている方はぜひ使ってみてください。

 - OS X, ブログ運営