ケータイのカメラを活用する

今日は講座の学生に「お誕生日おめでとうございます」と連発されて,なんだか面映い一日でした.
こういうのも,悪くないかナァ.
閑話休題
ケータイ内蔵のカメラを使ってないので,横着して活用できるように工夫してみました.
ケータイで撮ってメールで送ると,自動的にホムペにアップするシェルスクリプトを書いてみました.
前提:メールは予め procmail で特定のフォルダに入っている.
1. それらのフォルダにあるメールのリストを作る.
2. メールが image(jpeg) を含んでおり,それが既にデコードされていなければ uudecode でデコード.
3. jpeg ファイルをイメージ用のフォルダへコピーし,サムネールを作る.
4.別途スクリプト(make-index.sh)でイメージファイルのインデックスを作成.
5. 最新のサムネイル イメージをホムペ用に last.jpg としてコピー.
up-image.sh

#!/bin/sh
HOMEDIR="/home/foo/"
MAILDIR1="${HOMEDIR}Maildir/.xxx/new/"
MAILDIR2="${HOMEDIR}Maildir/.xxx/cur/"
HTMLDIR="${HOMEDIR}public_html/"
IMAGEDIR="${HTMLDIR}images/k/"
INDEXDIR="${HTMLDIR}main/"
MAKEINDEX="${HOMEDIR}xx/make-index.sh"
CONVERT="/usr/bin/convert"
for MAILDIR in ${MAILDIR1} ${MAILDIR2} ; do
for file in `ls ${MAILDIR}` ; do
FILENAME=`cat ${MAILDIR}${file} | grep filename \
| sed -e 's/^.*\="//' | sed -e 's/"//'`
if [ "${FILENAME}" != "" ]
then
if [ ! -e ${IMAGEDIR}t_${FILENAME} ]
then
(echo "begin-base64 744 ${FILENAME}" ; (cat ${MAILDIR}${file} \
| sed -n '/image/,$p' | sed -n '6,$p')) | uudecode
${CONVERT} -geometry 160x120 ${FILENAME} ${IMAGEDIR}t_${FILENAME}
mv ${FILENAME} ${IMAGEDIR}
fi
fi
done
done
${MAKEINDEX} > ${INDEXDIR}pictures.html
# last image
cd ${IMAGEDIR}
IMAGEDIR="${HTMLDIR}images/"
FILENAME=`ls -alr ????????.jpg | sed -n '1p' | awk '{print $9}'`
cp t_${FILENAME} ${IMAGEDIR}last.jpg

make-index.sh

#!/bin/sh
IMAGEDIR="/home/foo/public_html/images/k/"
echo "<html>"
echo "<head></head>"
echo "<body>"
cd ${IMAGEDIR}
for file in `ls -r ????????.jpg` ; do
echo "<a href=\"../images/k/${file}\">"
echo "  <img src=\"../images/k/t_${file}\" border=0></a>"
echo "  ${file}<br>"
done
echo "</body>"
echo "</html>"

汎用的ではないですが,A5305K から送られるメールは定型なので,これで充分です.
perl とか ruby とか高級なものは使ってない(まだ使えない)ですが,ローテクでけっこうなんとかなりました.
あとは,画像の向きですね.
さすがに自動的に縦横を判別するのは難しいので,メールを発信するとき subject に「p」(portfolio)と書くと画像を回転させるとか,させるといいかも.