[ 用途別目次(ユーザーズ)へ戻る | ←← | →→ ] [ 用途別目次(ユーザーズ) | 初期登録日目次(2002/01/27) ]

ユーザーズマニュアル・画像一括処理編2

用途別目次: ユーザーズマニュアル
(初期登録日目次: 2002/01/27 更新日: 2002/03/18)

画像一括変換ツールConv_Image



【1】Conv_Imageとは?
------------------------------------------------
 PopCornでは大量の画像を扱うことを想定しています。また、目的に応じてLサイズ、Mサイズ、Sサイズ(サムネール)に一括変換できると、PopCornの威力が発揮できるわけですが、そのためのツールがいるとか、数が多いと時間がかかるとか、一括変換をどうするかが課題となっていました。
 これを解決する具体的なツールとしては、ImageMagick、GIMPなどがあります。このうち、ImageMagickをPopCornと連携できるPerlライブラリConv_Imageを作りました。
 これにはいくつかサブルーチンが含まれていまして、一括処理をどのパターンで行うかも実はいろいろ考えられます。ファイル単位(オリジナル→1つ)の変換(conv_image)、ファイルセット単位(オリジナル→L/M/Sサイズ)の変換(conv_image_set)、単一フォルダの変換(conv_image_folder)、再帰的な全ファイルの変換(conv_image_all)という組み方にしてあります。
 サブルーチンだけだとどう使ったらよいものかわからないと思うので、実際に使えるスクリプトサンプルを以下で解説します。

【2】入手先
------------------------------------------------
Conv_Image
 以下からconv_imge.plをダウンロードできます。
http://www.mmdb.net/popcorn/page/download2.html

 Conv_Imageを使うためには、UNIX環境でImageMagick、PerlMagick、PopCornが必要です。
ImageMagickの入手先
http://www.imagemagick.org/
PerlMagickの入手先
http://www.imagemagick.org/www/perl.html

【3】画像一括変換の前に知っておくべきこと
------------------------------------------------
 PopCornのサイトでは、jpg画像をフォルダjpg直下に入れます。次の画像フォルダの概念図を御覧下さい。



1) オリジナルの画像フォルダ
 デジカメなどで撮ったオリジナル画像をフォルダに入れ、そのままここに格納しアーカイブ化します。
2) Mサイズの画像フォルダ
 PopCornで標準的に使う画像はこのMサイズの画像です。
3) Lサイズの画像フォルダ
 PopCornでLサイズというオプションを設けています。
 LサイズをPopCornでどのように利用するのかについての説明は略します。後日、Mサイズのページの画像をクリックすると、Lサイズの大きな画像が表示される、という形での利用法をサポートする予定です。
4) Sサイズの画像フォルダ
 クリップ目次を画像目次にした場合にサムネール画像として使います。

 早い話、Conv_Imageは、1)に新しい画像フォルダを追加したら、それをM/L/S各サイズの画像フォルダに一括変換するためのツールです。
 以下に実用的なスクリプトサンプルを示しますが、Conv_Imageはまだ開発途上のものですので、サブルーチンの仕様を変えることがあるかもしれません。
 いずれもとりあえず暫定版ということでお使い下さい。

【4】画像一括変換スクリプトサンプルconv_all.pl
------------------------------------------------
 次はConv_Imageを使って、画像を一括変換するためのスクリプトのサンプルです。
http://www.mmdb.net/popcorn/kit/script/conv_all.pl
 このURLから得て、必要な部分を修正してお使い下さい。

 オリジナルの画像フォルダに新しい画像フォルダを追加したら、それをL/M/Sサイズに一括変換します。使い方については、スクリプトサンプル中の説明を御覧下さい。
 このスクリプトでは、事前にパスなどの処理条件の値を変更しておき、コマンドラインからjpgフォルダ以下のフォルダの相対パスだけ入力して実行できるようにしました。次のように実行します。

./conv_all.pl "2002/0101a" &

スクリプトサンプルconv_all.pl
#!/usr/bin/perl
####################################
#PopCornサイトの画像一括変換
####################################
#処理
# 指定した画像フォルダ以下の画像をPopCornの格納形式に合わせてL/M/Sサイズに一括変換する。
#実行方法(UNIXのコマンドラインから次のように実行する)
#形 式 ./conv_all.pl "画像フォルダ名"
#使用例 ./conv_all "2002/0101a" &
# コマンドラインの最後に&を付けるとバックグラウンドで処理できます。
# うまくいくとコンソールには次のように経過が表示されます。
# [user]$ ./conv_all.pl "2002/0101a" &
# [1] 19854
# [user]$ Conv_Image (ver. 2002.0112) - Started at 2002/01/13 23:0:29
# Created a new directory: /home/mysite/site1/jpg/2002/0101a
# Created a new directory: /home/mysite/site1/jpg/s/2002/0101a
# Finished : at 2002/01/13 23:2:41 (ps time 0:02:12)
# [1]+ Done     ./conv_all "2002/0101a"
#
#注意事項!
#ImageMagickがインストールされたUNIX環境でのみ動作します。
# PopCornサイトの画像フォルダの格納構造をよく理解してからお使い下さい。以下にその解説図があります。
# http://www.mmdb.net/popcorn/gif/ext/image-folder.gif
#現時点では画像形式はjpgのみサポートしています。
#ファイルの拡張子はあらかじめjpg(小文字)にしておいて下さい。
#変換先のフォルダがない場合は勝手にフォルダを作り、その中に画像ファイルを格納します。フォルダのパスが違うと、間違ったパスでたくさんの画像ファイルを作ってしまいます。間違わないように注意しましょう。

####################################
#値を書き替えて使いましょう!
####################################
###オリジナルサイズのフォルダの基幹パス
# jpgオリジナル画像のフォルダの基幹パス"
$path_o = "/home/upload-site/site1/jpg";
###Mサイズのフォルダの基幹パス
$path_m = "/home/mysite/site1/jpg";
###Lサイズのフォルダ名
$folder_l = "l";
###Sサイズ(サムネール)のフォルダ名
$folder_s = "s";
###Lサイズの最大ピクセル数(0にするとLサイズに変換しない)
$max_l = 0;
###Mサイズの最大ピクセル数(0にするとMサイズに変換しない)
$max_m = 640;
###Sサイズの最大ピクセル数(0にするとSサイズに変換しない)
$max_s = 160;
###圧縮レベル 0(最低)〜100(最高)
$qual = 25;

####################################
#以下は実行スクリプト
####################################
require 'popcorn.pl';
require 'conv_image.pl';

if ($ARGV[0] eq "") { exit; }
else { $folder = $ARGV[0]; }

#画像変換処理
$start = &gettime;
print "Conv_Image (ver. $GCONVIMG_VERSION) - Started at " . &getdate2("/") . " " . &gettime . "\n";

&conv_image_all ("$path_o/$folder", "$path_m/$folder", $folder_l, $folder_s, $max_l, $max_m, $max_s, $qual);

print "Finished : at " . &getdate2("/") . " " . &gettime .
" (ps time " . &p_time ($start, &gettime) . ")\n";

1


【5】画像ファイル変換スクリプトサンプルconv_file.pl
------------------------------------------------
 これもConv_Imageを使って、画像を変換するためのスクリプトのサンプルです。【4】との違いは、画像を一括変換するのでなく、抜き打ち的に特定の画像ファイルのみを変換する点です。後から少し画像を追加したり、修正した画像を差し替えたりといった時にファイル単位の抜き打ち指定する時に使うと便利です。

http://www.mmdb.net/popcorn/kit/script/conv_file.pl
 このURLから得て、必要な部分を修正してお使い下さい。

 コマンドラインからは例えば次のように実行します。

./conv_file.pl "2002/0101b/0000.jpg" "2002/0101b/0001.jpg"

 指定されたオリジナルの画像ファイルをLサイズ、Mサイズ、Sサイズに変換して所定のフォルダに格納します。

スクリプトサンプルconv_file.pl
#!/usr/bin/perl
####################################
#PopCornサイトの画像ファイル変換
####################################
#処理
# 指定した画像ファイル(複数指定可能)をL/M/Sサイズに一括変換する。
#実行方法(UNIXのコマンドラインから次のように実行する)
#形 式 ./conv_file.pl "画像ファイル名"[ "画像ファイル名2"...]"
#使用例 ./conv_file.pl "2002/0101a/0001.jpg"
#使用例 ./conv_file.pl "2002/0101b/0000.jpg" "2002/0101b/0001.jpg"
#
#注意事項!
#ImageMagickがインストールされたUNIX環境でのみ動作します。
# PopCornサイトの画像フォルダの格納構造をよく理解してからお使い下さい。以下にその解説図があります。
# http://www.mmdb.net/popcorn/gif/ext/image-folder.gif
#現時点では画像形式はjpgのみサポートしています。
#ファイルの拡張子はあらかじめjpg(小文字)にしておいて下さい。

####################################
#値を書き替えて使いましょう!
####################################
###オリジナルサイズのフォルダの基幹パス
# jpgオリジナル画像のフォルダの基幹パス"
$path_o = "/home/upload-site/site1/jpg";
###Mサイズのフォルダの基幹パス
$path_m = "/home/mysite/site1/jpg";
###Lサイズのフォルダ名
$folder_l = "l";
###Sサイズ(サムネール)のフォルダ名
$folder_s = "s";
###Lサイズの最大ピクセル数(0にするとLサイズに変換しない)
$max_l = 0;
###Mサイズの最大ピクセル数(0にするとMサイズに変換しない)
$max_m = 640;
###Sサイズの最大ピクセル数(0にするとSサイズに変換しない)
$max_s = 160;
###圧縮レベル 0(最低)〜100(最高)
$qual = 25;

####################################
#以下は実行スクリプト
####################################
require 'popcorn.pl';
require 'conv_image.pl';

if ($ARGV[0] eq "") { exit; }
else
{
 foreach $file (@ARGV)
 {
  @path = split (/\//, $file);
  $file = pop @path;
  $folder = join ("/", @path);
  &conv_image_set ("$path_o/$folder", "$path_m/$folder", $file,
   $folder_l, $folder_s, $max_l, $max_m, $max_s, $qual);
 }
}
1
[ 用途別目次(ユーザーズ)へ戻る | ←← | →→ ] [ 用途別目次(ユーザーズ) | 初期登録日目次(2002/01/27) ]
[ ホーム | 用途別目次 | 項目別目次 | 初期登録日目次 ]
「PopCorn」ホーム
リファレンス検索 表示 要約
ご意見・ご感想はこちらへ: PopCornワーキンググループ