太陽タイムラプス撮影時の異常を検出して警告するアプリを Claude Code で作った
きっかけ
SharpCap Pro で太陽のタイムラプスを撮影していると、途中で雲がかかったり、ルーフ(屋根)に遮られたりすると、追尾エラーが発生して画角から外れてしまう問題があります。
ある程度は、SharpCap側で中心を維持するように制御してくれますが、限界はあります。
撮影中に画面を常時チェックしていないと、こうした異常状態に気付くのが遅れます。
気付いたときには、数十分の撮影データが使用できず、タイムラプスの連続性が失われてしまいます。
そこで、タイムラプスの出力フォルダを監視して、画像の変化から兆候を見つけたら、画面表示と警告音で知らせるアプリを Claude Code に作ってもらいました。
先に「判定できるか」を確認してもらった
最初に頼んだのは、アプリを作ることではなく、撮影済みの失敗画像をいくつか与えて、判定が可能かを判断してもらうことでした。
失敗した撮影の連続画像を、状況ごとに4つのフォルダに分けて渡しました。
- ルーフに遮られて、太陽が徐々に欠けていくもの
- 雲がかかったもの(2種類)
- 追尾エラーで太陽が画角から外れたもの




Claude Code は、画像を縮小して、太陽の面積・位置・明るさなどを数値にして、目で見た変化と突き合わせていました。
その結果、どのケースも数値に兆候が出るので判定は可能、という回答でした。
輝度や色味は撮影ごとに変わるので、相対値で判定する
ここで一つ要望を出しました。
輝度や色味は撮影ごとに変わるので、絶対値ではなく相対値で判定してほしいということです。
そのため、次のような作りになっています。
- 太陽の切り出しは、その画像自身の「暗い部分と明るい部分の中間」を基準にする
- 判定は、基準画像と、直近の正常な画像に対する比で行う
- 位置のずれは、太陽の半径に対する割合で表す
正常な連続画像も追加で与えて、状態を確認してもらいました。

正常20枚で誤報はなく、ルーフに遮られていくケースでは、4枚目(約1.5分後)で「注意」、7枚目で「警告」になりました。
画像の端に出るノイズも検出する
使っていると、判定が「正常」のままなのに、画像の下側に縦縞のようなノイズが出ているものに気付きました。
画像処理の過程で、太陽が画角から外れると、その方向の端にノイズが現れます。
これも検出してほしいと依頼しました。
画像の端の行が複製されて縞になっているかどうかを調べて、縞の強さで判定する方式になりました。
画像の位置合わせでは、暗い背景だけが複製されることもあるので、複製元に太陽が含まれているか(明暗の変化があるか)で区別しています。
その画像は、基準画像としても使わないようにしてもらいました。
警告音まわりの調整
警告音は、最初うまく鳴りませんでした。
Claude Code が原因を調べて、アプリの中で警告音を作って鳴らす方式に変えてくれました。
また、「確認」ボタンで音を止めたあとに、新しい画像で問題が見つかっても鳴らなかったので、新しい画像が届いたら警告を再開するようにしてもらいました。
確認ボタンは、音が鳴っている間だけ表示して、押したあとは「確認済み」の表示に切り替わります。
アイコンも作ってもらった
HDMI_CAPTURE で作ったアイコン(流星が画面に写っているもの)をベースに、流星を太陽に変えたアイコンを作ってもらいました。
色はオレンジ基調で、太陽は画面枠の中央に配置しています。

できたもの
WPF(.NET 8、C#)のデスクトップアプリです。
今までにClaude Codeで作成した SwitchBotMeter と HDMI_CAPTURE の実装方針を参考にするよう伝えて、同じ作りとなるように依頼しました。
- 出力フォルダを監視して、新しい画像が出るたびに判定
- 状態を「正常/注意/警告」で表示し、警告時は音を鳴らす
- 面積比と重心ずれのグラフ(直近30分)
- 基準画像の自動選択と、あとからの指定し直し
- 判定の記録を CSV に保存


ソースは GitHub に置きました(MIT ライセンス)。
https://github.com/takesa03/TimelapseChecker
YouTube 配信用のレイアウトを追加
YouTube 配信では、PC の画面の一部を OBS で切り出して、配信画面にレイアウトしています。
標準のレイアウトは横長なので、その用途には合いません。
そこで、幅550px・高さはタスクバーを除いた画面いっぱいの縦長のレイアウトを追加してもらいました。
ボタン1つで標準と切り替えられて、ウィンドウは画面の中央に配置されます。
配信時のサブ画面側に丁度良いレイアウトとなります。

ここまで、自分ではコードを一切書いていません。
作りたいものを伝えて、動作が変なところを見つけたら、その都度修正を依頼しただけです。
製作の状況は、太陽撮影のライブ配信の中で確認できます。
短時間のうちに、思いつきのアイデアが具現化できました~!
実際の製作過程は、以下のライブ中に行っています。
