2021年9月15日水曜日

GIMP Script-Py (11) Exif Tag を操作するスクリプト GIMP 2.99.7 用

GIMP 2.99 用に Python Script を書きました。
8 bits が前提の .jpg ですが、編集を熟すには より高精度 が望ましい時も。
しかし、昔の GIMP ですると、EXIF Data の欠落が見られたので、
懸案の ひとつ でした。


冒頭に書いた様に、.jpg が最終成果になるとしても、
16 bits .tiff 経由でデータを渡して、加工すれば、
より高精度な編集が可能になります。

無論、其れは RAW あっての事。
RAW から .tiff 経由 で編集に持ち込む事が前提になる訳です。

確かに、此の手法を用いれば、望ましい結果を得る事が出来ますし、
実際、或る条件下では素晴らしい結果を齎します。
しかし、
諸手を挙げて喜べる状況ではありませんでした。
そう、
実は私的には影響が少ない事なのですが、Exif Tag の一部が欠落するのです。
正確には、欠落していたのです。
何とかしてよ!と、 GNOME の GIMP Bug Report を挙げたのでした。

GIMP 2.10.2 , Please support the following EXIF tags
https://gitlab.gnome.org/GNOME/gimp/-/issues/1561

彼是、3年前の事です。

ご存知かも知れませんが、
此の間、GIMP の メタデータ絡み は、波風が立ち、大変な時代でした。
未だに解消していませんが、恐らく、近々の更新で 改善も予想されてはいます。

しかし、本件 は 対象外 でした。
原因として 元データの不備 が絡んでいる様で、
(技術的な意味では無く)対応は難しい、と回答を戴きました。
其の折に、 こうすれば可能かも知れない! とアドバイスを戴いたのです。


丁度、今、GIMP 2.10 用の Script を GIMP 2.99/3.0 に移行するプログラムを書いている処です。  難航中。
Python は書き方が がらっと 変わるのですが、
未だに、実際には書いてはいませんでした。
此れは 良い機会! とばかりに、奮闘開始!です。
実際に、スクリプトを書いて見れば、気付かなかった点も見えて来るのでは?、との発想からです。
そう、移行プログラム 作成上で、役に立つだろう、と。


数時間?の 足搔きの結果 が 此れ です。
先のプログラム作成の合間に 少しずつ 少しずつ ですね。

GIMP 2.99/3.0 用の Python Script の例、
或いは、
EXIF 絡みのメタデータのハンドリングの例、
として、ご覧になっても良いかも知れません。

但し、 GIMP 2.10.x では動きませんので、 ご注意を!。


自分で作って上げた 圧縮ファイル と画像ですから、
此処に転載しても OK でしょう。
だって、 私、作者なのですから。  ;)

参照 : https://gitlab.gnome.org/GNOME/gimp/-/issues/1561#note_1265748
     https://gitlab.gnome.org/GNOME/gimp/-/issues/1561#note_1266019
     https://gitlab.gnome.org/GNOME/gimp/-/issues/1561#note_1267518


The Python Script (for GIMP 2.99.7, Zipped with Directory)

Shiro_In_Exif_Add_A002a003_for2.99-en.zip
 https://gitlab.gnome.org/GNOME/gimp/uploads/944105951ad0da796f48b642af9c316d/Shiro_In_Exif_Add_A002a003_for2.99-en.zip
Shiro_In_Exif_Add_A002a003_for2.99-en-R1.zip
 https://gitlab.gnome.org/GNOME/gimp/uploads/6e9d4033347fd776fd2704964917fb94/Shiro_In_Exif_Add_A002a003_for2.99-en-R1.zip

(Screen shots contain Japanese, but zipped files have already been edited to English.)




留意事項 として、

2回、アップロードしていますが、
後半のもの(末尾が ...-R1.zip )をお使い下さい。

  前半ものは メタデータが全く無い場合に 内部エラー を生じ、
  本来表示される筈の Error Message が表示されません。  無視状態です。

A002/A003 EXIF タグのデータ欠損を補います。
現状のサイズを取得し、設定します。

Exif データが無ければ、変更は加えません。 (カメラ名 Exif.Image.Model の有無で判断)
既に、該当データがあれば、変更は加えません。 ( Exif.Photo.PixelXDimension/Exif.Photo.PixelXDimension )
変更が無い場合には、Error Message が表示されます。
良ければ、保存して下さいね。 (原画への上書き は お勧めしません!。)

メニュー名は 'Exif Tags a002a003' です。
メニュの場所は '/Script-Py/PhotoEditing/' です。

  "PhotoEditing" は、元々、"写真加工" でしたが、GNOME にアップする際に英語に変更しました。
  メモ帳 notepad.exe 等で、該当箇所の コメントアウト を切り替える事で 其処だけ 日本語に戻ります。
  他の箇所を弄って仕舞うと、最悪、動かなくなるでしょうから、 自信のない方はお止め下さい。

でも、基本的には 下手な英語表記 ですので、 ご勘弁を。


そうそう、 GIMP 2.99 で変わった事は、Python Script を User Profile 配下 plug-ins に放り込む場合、
同一名の Sub Directory (Sub Folder) に格納する事が求められます。
なので、.zip を展開して出て来る Directory(Folder) のまま 所定の箇所にコピーや移動して下さい。  厳守の事。
また、名称変更も きっと 不可!。



尚、通常は、此のふたつのタグが欠損していても 気付かないケースの方が多い 気もします。
まぁ、今回の件は 重箱の隅を突く様なもの かも。
別の箇所から、サイズの取得は可能ですし、 弊害はほぼ無い と考えても良いのですけれど ... 。



[2021/09/15] 誤字訂正 GIMP 2.88/3.0 > GIMP 2.99/3.0
[2021/09/15] リンク追加

0 件のコメント:

コメントを投稿