作者:上村崇 フリーランスのIT系エンジニア
twitter:@uemera facebook:uemura

画像管理にImageMagickが便利な件


デジカメで撮った写真が日々膨張してきており、それをどう保管しておこうか考えています。

今までは、バージョン管理システムSubversionの仕組みを使って、ローカルマシンに蓄積された画像ファイルを
Subversionサーバーにコミットするという使い方をしてました。
万が一ローカルに置いている画像が失われても、この仕組みを作っておけばsubversionサーバーからまた取り戻せます。
しかもこれだと、外出先からもファイルを手に入れようと思えばできるので、この点では便利かなーと思っていました。
ですが、いろいろと問題点がありました。

  • subversionへのコミットがめんどくさい。結局面倒で運用しなくなる。ローカルに画像ためっぱなしで意味なし。
  • subversionはそもそもはソースコードの管理システムなので、画像ファイル(=バイナリファイル)を管理するには
        ちょっと無理がある。ファイルと同じサイズの管理ファイルが必要なので、管理する画像ファイルの2倍の容量が
        サーバーに必要。
  • subversionサーバーから画像を取ってきたい場合、まずはサムネイルを見てどれをダウンロードするか決めたい
        のに、そういう使い方ができない。

    subversion以外ではgitが最近注目をあびてきているので、時代に乗り遅れないためにもgitを導入しようとかと
    計画しているのですが、gitにしても画像ファイルに関しては結局同じような制限が付きまとうと思われるので、画像
    ファイル管理は別の方法を考え中です。

    画像ファイルをRAIDに保存するという贅沢な使い方は今まで出来なかったのですが、ディスクも安くなってきたことも
    あり8月にサーバーのディスク容量を1TBのRAIDにしたので、この中にファイルを置くことにしました。
    ローカルマシンにはもう画像ファイル置くのやめて、デジカメの画像をいきなりサーバーに置きます。subversionも使
    わない。
    RAIDだからそもそもバックアップ運用の必要性ないし。楽チンになるかなと。

    外部から見えるようにするには、この領域をWebDAV化しようかなと。まFTPで現状アクセスできるのでそれでもあまり
    不便はなさそうですが。
    画像のサムネイル化ですが、方法をかなり探した揚句、ImageMagickのツールを使用して気持ちよい方法を見つけました。

montage -label ‘%f’ -geometry 100×100+20+10 -tile 4x -shadow *.JPG thumbnail.jpg

こんな感じのコマンドを実行すると、指定ディレクトリ以下の画像を100*100サイズで横4列のリストにしてthumbnail.jpg
を出してくれちゃいます。
以下のような感じです。

20091025

これを作るスクリプトを定期的にcronで回せば、あまり運用の手間なく、外部からもアクセスできる画像ライブラリが出来そうです。
ImageMagickってちゃんと使ったことなかったけど、すごいツールだわ。感動した!
WebDAVのツールに画像サムネイル化するような仕組みがあればいいんだけど、探したところ見つかりませんでした。
こういう製品を使えばWebDAVでサムネイル画像を見られるみたいだけど、有料だし、おそらくサーバー側にも特別な仕組みが必要っぽい。

<参考>
ImageMagickのmontageコマンド – Yaibeen
    http://nucleus.yaibeen.com/item21.html
Montage — IM v6 Examples
    http://www.imagemagick.org/Usage/montage/

関連記事


Linux debianでRAID(ミラーリング)構築。mdadmとpartedで
mdadmによるRAID (ミラーリング)構成手順です。ディスクが1台壊れたのでRAIDを組み直しました。環境はLinux Debian 9.11 (stretch) partedやmdadmコマンドで構築します。

Postfixメールサーバー:送信不可のユーザーを設定する
メールサーバーPostfixにて、送受信ができないユーザーを設定をする方法です。Linux、debian環境です。特定のメールアドレスを送受信不可にします。メールを許可しないLinuxユーザーを作るときに有効です。

Web開発・Web制作のツールや用語を初心者向けに大量紹介。これだけ知っておけば安心。
Webページ製作やWebのシステム開発ではいろんなツールやテクニック、用語を使いますが、全体像がなかなか掴みにくいと思ったので、初心者向けに用語をたくさんまとめました。これさえ押さえておけば業界の常識用語はだいたい網羅できると思います。

KVM仮想マシンをWebからアクセスできるKimchiをdebianにインストール
自宅サーバーにてKVMの仮想マシンを動かしていますが、外からでもリモートで操作できるようにkimchiを導入しました。 GitHub – kimchi-project/kimchi: An HTML5 man …

Linuxの権限について解説。setuidとかsetgidとかスティッキービットとか
setuidとかsetgidとかスティッキービットの解説です。Linuxのこれらの機能については考え方が難しいですが、setuidは「一般ユーザーがroot権限で動かすことができる仕組み」です。setgidはそのグループ版です。詳細なメカニズムを解説します。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です