10月20日に撮影した紫金山・アトラス彗星、ポータブル赤道儀に載せてインターバル撮影をしていたのだけど、星が流れてしまった。
そこで、補正してみた。
まずは完成した動画。
もともと撮影した写真はかなり暗め(明るくすると光害で真っ白になってしまう)だった。
まずは16bitのTIFF画像(TIFF16)に変換して、代表的な1枚をImageMagickでマシにしてみる。
$ convert INPUT.TIF -level 15%,35% -gamma 0.5 OUTPUT.TIF
ということで、レベル補正とガンマ補正をかけてみた。
こんな感じになったので、位置を補正しながらすべての画像にレベル補正とガンマ補正をかけてみる。
位置補正は雛形のシェルスクリプトをGPTに書いてもらって、それを元にレベル補正とガンマ補正を組み込む。ついでに出力はJPGにするよう修正。
#!/bin/bash
# 処理するディレクトリのパス
input_dir="./TIFF16" # tiffファイルが置かれているディレクトリ
output_dir="./OUTDIR2" # 処理後のファイルを保存するディレクトリ
# 出力ディレクトリが存在しない場合は作成
mkdir -p "$output_dir"
# x, y座標のずらし量
shift_x=0
shift_y=0
delta_x="5.623" # 731/130
delta_y="5.723" # 744/130
# ディレクトリ内のすべてのTIFFファイルに対して処理を実行
for file in "$input_dir"/*.TIF ; do
# ファイル名だけを取得
filename=$(basename "$file" .TIF)
# convertコマンドを使って処理
convert "$file" -level 15%,35% -gamma 0.5 -roll -"$shift_x"+"$shift_y" "$output_dir/$filename.JPG"
shift_x=`bc <<< "$shift_x + $delta_x"`
shift_y=`bc <<< "$shift_y + $delta_y"`
echo "Processed: $file -> $output_dir/$filename.JPG $shift_x $shift_y"
done
echo "All files processed."
作成したファイルを連番に変換。
$ ls *.JPG | awk '{ printf "mv %s %04d.JPG\n",$0,NR}' | sh
切り出す領域を指定しながらffmpegで動画に変換、さらにサイズを1080×1080に縮小。
$ ffmpeg -r 15 -i %04d.JPG -r 15 -an -vf crop=2160:2160:2481:1611 -vcodec libx264 -pix_fmt yuv420p video1.mp4
$ ffmpeg -i video1.mp4 -vf scale=1080:-1 video2.mp4
出来上がったのが冒頭の動画。