KIMUKAZU blog

健康とiMacに関する情報
最近は天体観察と公園散策の情報

Canonのコンデジ:IXY110 ISを用いたインターバル撮影

2015-12-29 04:34:00 | 写真
 Canonのコンパクトデジタルカメラ(IXYやPowerShotシリーズ)[1]では、その多くの機種ではインターバル撮影[2]のメニューはない。しかしながら、Canonのコンデジに搭載されている画像エンジンDIGIC[3]を解析し、その機能を実現してしまうファームウエア(CHDK:Canon Hack Development Kit)[4]が公開されているようで、大変驚いた。自己責任の範疇ではあるが、早速、IXY110 ISにCHDKを導入し、インターバル撮影ができるか試して見た。

(1)CHDKのIXY110ISへのインストール
 IXY110ISへCHDKをインストールする方法は、多くの情報がネット上に公開されている[5-7]。ここでは、その情報を参考にインストールしてみた。
 私のPCの動作環境は、iMac(OSX 10.6.8 Snow Leopard)であり、公開されているPCの動作環境とは異なっていたが、基本的には、IXY110ISで動作するCHDKファームウエア[8]をダウンロードし、それを解凍し、カメラのSDカードにそのままコピーするだけでiMac環境でも問題なく実施することができた。
 CHDKを利用する場合は、IXY110ISに前記のSDカードを設置して、IXY110ISの再生ボタン(青の三角のボタン)から起動し、MENUボタンから「Firm Update...」を行う必要がある。
 ※通常の電源ボタンから起動した場合は、CHDKが利用できないので、注意が必要である。

(2)インターバル撮影
 CHDKをインストールしただけでも簡単なインターバル撮影は可能であるが、uBASICによるスクリプトを追加インストールすることで、より高機能なインターバル撮影が利用可能になる[9]。ここでは、CHDKの中で最も汎用的なUltra Intervalometer[10]を、IXY110ISにインストールしてみた。
 その具体的なインストール方法は、前記サイトのスクリプト:"ult_intrvl.bas"(テキストエンコーディング:UTF-8、改行コード:CR+LF)をテキストエディタを用いて作成し、SDカードの/CHDK/SCRIPTS/にコピーすることで行った。
 インターバル撮影は、IXY110ISを起動後、「Load script from file…」から"ult_intrvl.bas"を読み込み、撮影までの遅延時間、撮影枚数、撮影インターバル、エンドレスを、それぞれ設定することで実施できた。
 今回、実際に設定した値は、
 撮影までの遅延時間:0秒
 撮影枚数:240枚
 撮影インターバル:25秒
 エンドレス:なし
である。この設定で約30秒毎に240枚、すなわち2時間のインターバル撮影ができた。
 IXY110ISでは、2時間の連続撮影を行うと電池の残量はほぼ0になるので、毎回のインターバル撮影では電池はフル充電の状態で撮影を開始しなければならない。

(3)動画への変換
 インターバル撮影で得られた静止画を、毎秒30コマ毎に表示することで動画表示が可能になる。
 前記の静止画の動画への変換は、オープンソースソフトのffmpeg[11]を用いた。ffmpegのiMacへのインストールは、MacPorts[12]を利用して行ったが、その詳細な手順については、ここでは略す。
 iMac環境において、ffmpegを用いて、240枚のjpg画像をmp4動画に変換する際に使用したコマンド例は、次の通りである[13-14]。

ffmpeg -y -r 30 -start_number <startnumber> -i 'IMG_%04d.jpg' -vcodec libx264 -s 1024x768 XGA_out.mp4

 出力される動画ファイル名は、XGA_out.mp4であり、この処理により、2時間かけて撮影した静止画を8秒に短縮したタイムラプス動画[15]を作成することができた。

(4)比較明合成による星空軌跡の作成
 夜空や星空撮影に関しては、多くの参考例がある[16-17]。
 ここでは、IXY110ISのインターバル撮影機能を利用して星空を撮影した写真について、ImageMagick[18-19]を用いて比較明合成し、星空軌跡写真を作成した結果について述べる[20-21]。
 ImageMagickのiMacへのインストールは、ffmpeg同様、MacPortsを利用した。ImageMagickのインストール方法については、省略する。
 使用した比較明合成のコマンドは、composite -compose lightenであるが、詳細は、次のperlスクリプトを作成して比較明合成処理を行った。

perlスクリプト例:lighten.pl
--スクリプトはここから
#!/usr/bin/perl

use strict;
use warnings;

my $out="out_lighten.jpg";

my @list= glob('IMG?????.jpg');
my $N=$#list+1;
my $i=0;

foreach my $file (sort @list) {
$i++;
if ($i == 1) {
print "\n#$i/$N cp $file $out\n";
system("cp $file $out");
} else {
print "#$i/$N composite -compose lighten $file $out $out\n";
system("composite -compose lighten $file $out $out");
}
}
--ここまで

 上記の処理により、結果として得られた星空軌跡の写真例は、次の通りである。主にオリオン、シリウス、プロキオン、月の軌跡が写っている。



参考文献:
(1)キャノン・コンパクトデジタルカメラ
(2)低速度撮影-Wikipedia
(3)画像エンジン-Wikipedia
(4)CHDK-Wiki
(5)CHDKまとめ(仮)
(6)CHDK-Tark's Weblog
(7)暇人「ZX93」の雑記帳Blog
(8)Digital IXUS95-1.00C
(9)スクリプトの導入(uBASIC)
(10)UBASIC/Scripts: Ultra Intervalometer
(11)FFmpeg-Wikipedia
(12)MacPorts
(13)ffmpegを使って微速度動画を作るメモ
(14)複数の写真から動画を作る
(15)タイムラプス写真
(16)夜空の星が描く軌跡を撮る – 比較明コンポジット合成
(17)今年の冬こそ星空写真に挑戦!
(18)ImageMagick-Wikipedia
(19)ImageMagick
(20)ImageMagickの使い方に関する自分用メモ
(21)Notebook/Timelapse
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする