gihyo.jp » ADMINISTRATOR STAGE » 連載 » Ubuntu Weekly Recipe » 第102回 ImageMagickでコマンドラインから画像加工

Ubuntu Weekly Recipe

第102回 ImageMagickでコマンドラインから画像加工

今回は,コマンドラインから画像加工を行えるImageMagickを取り上げます。画像加工ならGIMPやF-Spotを使えばいいのに,“なぜコマンドラインから?”と思われるかもしれませんが,コマンドラインならではの利点もあります。

例えば,数百枚の画像に同じ処理を施す場合,GIMPで1枚1枚手作業で処理するのに比べて,コマンドラインやスクリプトから一括で処理した方が,時間も労力もかかりません。

ImageMagickは数多くの機能を備えていますが,その中からデジカメで撮影後の写真を加工する用途を中心に紹介していきます。

ImageMagickのインストール

インストールは,[アプリケーション]-[アクセサリ]-[端末]を開いて以下のコマンドを実行します。

$ sudo apt-get install imagemagick

ImageMagickのドキュメントをインストールする場合は,以下のコマンドも実行します。

$ sudo apt-get install imagemagick-doc

インストールしたドキュメントを閲覧するには,Firefoxのアドレス欄に以下を入力します。

file:///usr/share/doc/imagemagick-doc/index.html

ドキュメントを開いてみるとわかりますが,これはImageMagickのホームページとほぼ同一のものです。

ImageMagickの基本

ImageMagickでは,画像を変換する場合に「convert」や「mogrify」というコマンドを用います。「mogrify」コマンドを使ってしまうと元画像を書き換えてしまうため,新たなファイルとして保存する「convert」コマンドを使うのがよいでしょう。

例として,カレントディレクトリ内に保存されている写真「P001.jpg」のJPEG圧縮率を90%に変更して「converted_P001.jpg」という名前で保存してみます。以下のコマンドを実行します。

$ convert P001.jpg -quality 90 converted_P001.jpg

ただし,このようにImageMagickを使うだけでは,GIMPで写真を開いて,ファイルの保存ダイアログで,圧縮率を指定するのと手間が変わりません(図1)。

図1 GIMPの保存ダイアログでJPEGの品質を指定するところ

図1 GIMPの保存ダイアログでJPEGの品質を指定するところ

そこで,「xargs」というコマンドと組み合わせて使い,カレントディレクトリ内のJPEGファイルすべてに同じ処理を施してみます。以下のコマンドを実行します。

$ ls *.jpg | xargs -I{} convert {} -quality 90 -verbose converted_{}

このコマンドでは,lsコマンドでカレントディレクトリ内のJPEGファイルをリストアップし,その出力をxargsコマンドに渡します。xargsコマンドは,与えられたファイル名を{}の部分に代入して,JPEGファイルの数だけconvertコマンドを実行してくれます。

例えば,カレントディレクトリ内に「P001.jpg, P002.jpg, P003.jpg, ...」というファイルがあった場合は,変換後の画像を「converted_P001.jpg, converted_P002.jpg, converted_P003.jpg, ...」と保存してくれます。

なおここでは,処理状況を表示させるため「-verbose」オプションを追加しています。

輝度,彩度の変更

「-modulate」オプションを用いると,簡単に輝度と彩度が変更できます。ただし,この操作が行われるのはHSL色空間です。

-modulateオプションは3つの値を取り,「輝度(Lightness)」「彩度(Saturation)」「色相(Hue)」の順にパーセントの値で指定します。値が指定されない場合は100%が指定されたものと解釈されます。

輝度を110%,彩度を130%に上げる場合は,以下のように実行します。

$ convert P001.jpg -modulate 110,130 converted_P001.jpg

この操作は,元の画素の持つ値に対して,-modulateオプションで指定した値を掛ける動作をします。これは,GIMPメニューの[色]-[色相-彩度](図2)とは全く異なる動作です。GIMPと似たような動作をさせる場合は,以下のように指定します。

$ convert P001.jpg -colorspace HSL \
-channel B -evaluate Add 10% \
-channel G -evaluate Add 30% \
-colorspace RGB converted_P001.jpg

このコマンドでは,まず画像をHSL色空間に分解し,チャンネルごとに値を加えています。そして最後にRGB色空間に戻して保存しています。

操作するチャンネルの指定方法ですが,ImageMagickではRGBの3文字しか使えません。HSL色空間ではHを操作したい場合はRを,Sの場合はGを,Lの場合はBを指定してください。

また,加える値をパーセントではなく直接指定する場合の値の範囲ですが,ImageMagickでは内部でチャンネルごとの値を16bitで持っているため,0から65535までです。

図2 GIMPの[色相-彩度]ツール

図2 GIMPの[色相-彩度]ツール

著者プロフィール

村田信人(むらたのぶと)

Ubuntu Japanese Teamメンバー。Ubuntuオフラインミーティングに参加するうちにUbuntu Japanese Teamの活動に興味を持ち,2009年8月に加入。

コメント

コメントの記入

パスサポ

多数の情報処理技術者試験対策書籍の発行実績を誇る技術評論社がお届けする,資格試験合格サイト「めざせ! 情報処理試験 パスサポ」が開設されました。

ピックアップ

サクセスストーリーに続く,快適サーバー運用管理のヒント!

データの増大,煩雑な管理,システムダウン,セキュリティなど,迫りくる課題からシステム管理者の負担を軽くするポイントを解説します。

gihyo.jp インフラエンジニア情報局

ネットワークやITにかかわるあらゆる業種で必要とされるインフラエンジニアに向けた技術情報や心構え,その魅力について多角的に紹介。

テストエンジニア ステーション

いま,ITに関わるあらゆる開発業務で注目されつつあるテスト系エンジニアをターゲットにしたコンテンツサイトを展開します。

一行クイックアンケート

gihyo.jpで取り上げてほしいネタは?

※検索はページ右上の検索ボックスをご利用ください。

その他の連載

2010年版SEO体得講座

本連載では,いまや企業サイトの戦略の1つとして欠かすことのできないSEOについて,最新トレンドからすぐに使えるTipsまでを紹介します。

小型Linuxサーバの最高峰 OpenBlockS 600活用指南

搭載メモリの増加,CPUクロックの向上など,あらゆる面が強化された期待の新モデルOpenBlockS 600。この記事ではOpenBlockS 600の紹介から,活用するためのさまざまなノウハウを紹介していきます。

はじめMath! Javaでコンピュータ数学

プログラミング言語入門者向けに,知っていると役立つ数学的トピックスを紹介します。簡単な演習問題と解説で,即活用できる知識を目指します。

教科書には載っていない ネットワークエンジニアの実践技術

ネットワークエンジニア,インフラエンジニアのトラブル対応には,時には「教科書通りにいかない」テクニックが必要となります。資格試験では得られないこうした実践的な技術について,実例を元に紹介します。

Googleケータイ,世に現る

2008年9月,Googleが中心となって開発されている「Android」を採用した携帯電話「T-Mobile G1」が発表されました。本連載ではT-Mobile G1を中心にGoogleケータイに迫ります。

モバゲーオープンプラットフォームに挑戦!――面白法人カヤック流モバゲーオープンプラットフォーム企画と開発のイロハ

2010年1月にリリースとなったモバゲーオープンプラットフォーム。その制作企業であるカヤックが,アイデアを企画に落とし込み,開発までのノウハウを紹介します。

プロトタイピングツールSketchFlowを用いた,Silverlightアプリ開発

SketchFlowプロトタイプ作成からアプリケーション開発までをExpression Blend 3を使って実践的に解説します。

Ubuntu Weekly Recipe

Ubuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。

連載一覧

gihyo.jp

  • DEVELOPER STAGE
  • ADMINISTRATOR STAGE
  • WEB+DESIGN STAGE
  • LIFESTYLE STAGE
  • SCIENCE STAGE
  • NEWS & REPORT

書籍案内

  • 新刊書籍
  • 書籍ジャンル一覧
  • 書籍シリーズ一覧
  • 新刊ピックアップ
  • ロングセラー
  • 電脳会議

定期刊行物一覧

  • Software Design
  • WEB+DB PRESS
  • Web Site Expert
  • 組込みプレス

最近のコメント