はじめに
花火を撮るため久しぶりに一眼カメラ(SONY a6400)を触りました。
折角なのでRAW現像もしたいなと思い、データの保存モードをJPEG+ARWで保存して打ち上げ花火を撮りまくってたのですが、データ数がめちゃくちゃ多い&よく撮れてない物も多く写真を選別することにしました。
SONYのカメラではRAW形式のファイル(ARWファイル) と JPEGファイルが同じディレクトリ以下に格納されるため、JPEG画像で取れ高を確認⇒JPEGとRAW画像を削除みたいな感じにすると途中で画像セットがよくわかんなくなってしまいます。
なのでJPEGファイルをプレビューしつつ不要な画像はRAWファイルもろとも削除する(別ディレクトリへ整理する)みたいなツールを書いてみました。
環境情報
- Windows10
- Python 3.10.6
- opencv-python
- shutil
ツール実物
GitHubにコミットしてみました。
肝となる部分としては下記になります。
-
[DELETE]ディレクトリの作成
間違って削除してしまった場合でもすぐ戻せるように[DELETE]ファイルへ削除したファイルを移動しておきます。
... # make directry for delete files delete_dirpath = dirpath + "/[DELETE]" os.makedirs(delete_dirpath, exist_ok=True) ...
-
キー操作で画像送り、削除、終了操作
- "<"キーで前の画像へ
- ">"キーで次の画像へ
- "d"キーで画像削除
- "esc"キーで終了
... while True: ... # operation process if key == 46: # next image by ">" key index = index + 1 if key == 44: # prev image by "<" key index = index - 1 if key == 100: # delete file by "d" key # move jpeg and arw files arw_filepath = jpeg_filepath.upper().replace(".JPG", ".ARW") shutil.move(jpeg_filepath, delete_dirpath) shutil.move(arw_filepath, delete_dirpath) print("[INFO] delete " + jpg_file_list.pop(index)) # update file list size jpg_file_list_size = len(jpg_file_list) elif key == 27: # quit by "esc" key break ...
動作確認
意図通りファイル操作は出来ていそうです。
ファイル削除することでリストサイズが変わったりするので一応ガード処理諸々入れていますが、あまり意地悪操作による確認はできていません。
今後使ってる最中になんか見つけたら修正するかもしれません。
おわりに
ということで、カメラで撮った画像たちを整理するツールを作ってみました。
果たしてRAW現像はやるのか。