Skip to content

shinob/auto_crop

Repository files navigation

auto_crop

このプロジェクトは、画像内の月の中心を検出し、その中心を基準に画像を自動で切り抜くPythonスクリプトを提供します。天体写真、特に月の写真のトリミングに役立ちます。

機能

moon_autocrop.py スクリプトは以下の機能を提供します。

  • 月の中心検出: OpenCVの画像処理技術(グレースケール変換、ガウシアンブラー、ハフ変換による円検出)を使用して、画像内の月の中心座標と半径を特定します。
  • 自動切り抜き: 検出された月の中心を基準に、指定されたサイズで画像を自動的に切り抜きます。切り抜き範囲は画像の境界内に収まるように調整されます。
  • Exifデータ保持: 切り抜き後の画像に、元の画像のExifデータを可能な限りコピーします。
  • 複数サイズでの出力: 実行時に、異なるアスペクト比とサイズの画像を複数生成できます(例: 1000x1000, 1920x1080, 1080x1920)。
  • デバッグ用出力: 月の検出結果を視覚的に確認できるよう、中心と円が描画されたアノテーション付き画像を保存します。

セットアップ

このスクリプトを実行するには、以下のライブラリが必要です。

  • opencv-python
  • numpy
  • piexif

これらのライブラリは pip を使用してインストールできます。

pip install opencv-python numpy piexif

使い方

スクリプトはコマンドラインから実行します。引数として処理したい画像ファイルのパスを指定します。

python3 moon_autocrop.py <image_path>

例:

python3 moon_autocrop.py IMG_0496.JPG

出力ファイル

スクリプトが正常に実行されると、以下のファイルが生成されます。

  • detected_moon_<元のファイル名>: 月の中心と外接円が描画されたデバッグ用画像。
  • <元のファイル名>a.<拡張子>: 月の中心を基準に1000x1000ピクセルで切り抜かれた画像。
  • <元のファイル名>b.<拡張子>: 月の中心を基準に1920x1080ピクセルで切り抜かれた画像。
  • <元のファイル名>c.<拡張子>: 月の中心を基準に1080x1920ピクセルで切り抜かれた画像。

注意事項

  • 画像内に月が明確に写っている必要があります。
  • 月の形状が大きく歪んでいる場合や、他の明るい物体が写り込んでいる場合は、検出精度が低下する可能性があります。
  • Exifデータのコピーは piexif ライブラリに依存しており、すべてのExifタグの完全なコピーを保証するものではありません。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors