はじめに 2021 Feb 28
そもそも本アプリを作るきっかけになった
「フィルム デジタイズ メモ」
にも書きましたが、
フィルムデジタイズの工程で結構面倒なのが有効エリアのトリミングです。
フィルムスキャナーでもデジカメ接写でも、
フィルム周囲の余白やフィルムのエッジが写り込みます。
そういった写真を数千枚トリミングするには、
自動化されていないとお手上げです。
本アプリを使うことで、
周囲の不要部分が取り除かれたきれいなトリミングを簡単に行うことが出来ます。
使い方
共通サイズの検出
写真のサイズは「旅行」や「イベント」などテーマ単位で同じ方が良いです。
その為に本ツールはまず、テーマ内の全写真を読み、
全体で共通なエリア(=最も小さいエリア=共通サイズ)を調べます。
事前準備としてテーマのディレクトリを切りトリミング前のファイルを入れておきます。
pic_trimmer.jar をダブルクリックしアプリを起動し、
パネルの右クリックメニューから 「Set Picture directory and Detect trim size」を選択します。 表示されたファイル選択ダイアログで、 テーマの写真が入ったディレクトりを選択します。 自動的にそのディレクトり内の全写真の有効エリアを調べます。 微調整とファイル出力 トリミング前の写真の有効エリアはそれぞれ微妙に異なる為、 各写真で青い枠をドラッグしエリアを微調整してから パネルの右クリックメニューから 「Save and Next」を選択でJpeg出力し、 同じことを最後の写真まで行います。 エッジ検出
その中にトリミングされた写真ファイルが元と同じファイル名で出力されます。 元のファイルはそのまま残っているので比較確認出来ます。 ↓上の元写真からトリミング処理した写真。 Property の説明
|
version 1.2 - 撮影日付設定機能の追加
2021 May 19
フィルム時代の撮影日の記録といえば光学的な写仕込みがありました。
一方デジタル写真には撮影日時が記録されていて、いろいろと使われます。
デジタイズしてデジタル写真と同じ扱いになると、
そのままではアプリ等で見る際に撮影日が表示されなくて何かと不便です。
(あるいは30年前の写真を見ているのに、
接写した最近の日時が表示されても違和感があります)
そこで撮影日付の設定が出来るようにしました。
撮影日時はメタデータ
Exif (Exchangeable image file format)
に記録されます。
この Exif データを直接扱うと大変なので、抽象化されたライブラリ
Apache commons Imaging
を使います。
具体的な使い方は、該当 GitHub にあるサンプルファイル
WriteExifMetadataExample.java
が参考になりました。
関連すると思われるタグは以下の3つがあり
|
version 1.4 - 使い勝手の向上
2021 Jun 9
使っているといろいろと課題が見えてくるもので、
以下の改善を行い version 1.4 としました。
|
version 1.6 - 撮影日付設定だけを行うメニュー追加
2024 Nov 21
撮影日時の設定機能は後から追加したので、
トリミングの流れの中でしか考えていませんでしたが、
実際には後から日時の追加、変更だけを行いたい場合もあるため、
以下のように日時設定だけを行うメニューを追加しました。
これに伴い version 1.6 としました。
|
課題
トリミングが簡単になったとはいえ、最後の微調整は手で行っています。
多くの場合それは人物にからむもので、
AI 認識により人物の位置が検出出来れば、
自動化できるように思えます。
ソースコード公開 GitHub
Java パッケージ構成
|