省型旧形国電の残影を求めて

戦前型旧形国電および鉄道と変褪色フィルム写真を中心とした写真補正編集の話題を扱います。他のサイトでは得られない、筆者独自開発の写真補正ツールや補正技法についても情報提供しています。写真補正技法への質問はコメント欄へどうぞ

GIMP / Python プログラミング

画像色補正や画像処理プログラミングに役立つ写真画像の一般的経験則

今まで、B チャンネル再建法補正ツール Ver. 5.5 に向けて、試作や実験を繰り返していました。この間色々と実験して気づいたことをメモっておきたいと思います。 ■一般的な写真の場合、全ての色を混ぜるとニュートラルグレーになる これは、通常の画像処理ソ…

GIMP / Python プログラミング Tips: drawable の最高・最低値をどう取得するか

今、久しぶりに再度 GIMP 2.10.x 用プラグインを書いていますが、drawable の最高値、最低値を取得する GIMP API が見つかりません。gimp_drawable_histogram() という API は見つかりましたが、これで平均値、中央値、標準偏差などは取得できますが、非常に…

まだまだ GIMP2.10 用 既存 Python スクリプトの 2.99向け書き換え作業に着手できない

GIMPのオンラインディスカッションに、以下のような議論がありました。 discuss.pixls.us この中で、GIMP 2.99 の Python-Fu の仕様はまだまだ大きな変更がある見込みであるとの指摘がなされています。実際、以前GimpFu Version 3 が結構いい線まで行ってい…

Python書きのための Visual Studio Codeの拡張機能

現在 Visual Studio Code を活用して、自分のPythonプログラムを書いていますが、下記のサイトで推薦されている拡張機能が有益でしたので、自分の備忘録としてリンクを載せておきます。 qiita.com なお、こちらで紹介されている拡張機能は下記です。 1. Erro…

GimpFu Ver. 3をめぐる議論

以前GIMP Ver. 3 にGimpFu を移植する試みがあることを記事にしましたが、これに関連する議論を見つけました。 gitlab.gnome.org とりあえず、今GimpFu Ver. 3 プロジェクトが正式なプロジェクトとして取り上げられないのは、一つはメンテナンスする人手が不…

GIMPデベロッパーサイト開設

今週末、GIMPデベロッパーサイトを再開するとのアナウンスがありましたが、下記のように再開されたようです。 developer.gimp.org

GIMP / Python 自作プラグイン解説: ファイルをマスクとして読込む

先日アップデートした画像ファイルをレイヤーマスクとして読み込むプラグインですが... yasuo-ssi.hatenablog.com GIMP / Python プログラミングは結構難しいので、今回、GIMP / Pythonプログラマーの方に参考になるように、コードの解説をつけます。 ------…

マスク画像に一挙にガンマ補正を掛けるプラグイン - GIMPを便利に! プロジェクト

久しぶりに、「GIMPを便利に! プロジェクト」の自作プラグインを追加します。先日指摘したように、リニアワークフローを採用したGIMP2.10.x では、レイヤーマスクの動きがどうやらGIMP2.8以前と異なるようです。 ただ、マスクの挙動がはっきり解明できていな…

GIMP2.10 / Python プログラミング Tips: アクティブな Imageや Drawableはなるべく Register から読み込むべし

GIMP3.x で、現状のPython-fuの仕様が引き継がれそうもないので、GIMP上でプログラムを作る意欲を全く失っていましたが、やはり必要そうなので再開します。 GIMP3.0ではgimpfu ver. 3 プロジェクトが公式プロジェクトに採用されることを期待したいと思います…

GIMP2.10 / Python プログラミング Tips: Windowsでプログラムのデバッグを行う

すでに他の方が指摘されていますが、GIMPのPython プラグインの開発を行う際はWindows上だとやりにくいです。というのは、print文などを入れて途中経過を出力しようとしても表示されませんし、Pythonインタープリタのエラーメッセージも表示されません。この…

GIMP2.10 / Python プログラミング Tips: Pluginファイルの認識とバックアップの盲点

GIMP用プラグインを開発していて、罠にハマることの一つに、Pluginファイルのバックアップ問題があります。 Pluginを書いている時に、実験的にちょっといじってみたくて、元のPluginファイルを上書きしたくない場合があります。そういった場合、よくやること…

Gimp 3 でも既存のPython プラグインが多少の手直しで走る? - GimpFu Version 3 プロジェクト

以前、GIMP Version 3 で大幅にPythonの仕様が変わると書きました。 yasuo-ssi.hatenablog.com 現在の GIMP.org の立場では、既存のPython-fuスクリプトの仕様をサポートする考えはないようです。現状のPythonスクリプトは、gimpfu というPython用のGimp対応…

GIMPプラグイン Layer via Copy の解読

GIMPプラグイン作成法のお勉強として、以前以下の記事で紹介した、Dmitry Dubyaga氏が作成した、layer-via-copy-cut.py という プラグインを解読してみます。 yasuo-ssi.hatenablog.com 最初は、Pythonを使う宣言です。引き続きエンコードにUTF-8の仕様を宣…

GIMP / Python Tips: プラグインで[元に戻す]範囲を設定する

Pythonで作成したGIMP用プラグインを実行後、その操作を取り消すと、特に何も設定していなければ、プログラムに書かれている操作過程一つ一つを取り消すことになります。従って、プラグインで指定した操作全体を一挙に取り消すことができません。 そこで、プ…

GIMP / Python Tips: 現在アクティブなimageやdrawableを取得する

GIMPのPython-fuで、現在アクティブなimageオブジェクト (GIMPにおけるimageとは、ほぼ画像ファイルのことを指す) をどうやって取得したらよいでしょうか? つまり、複数のimage つまり画像ファイルが読み込まれている状態で、現在アクティブなimageオブジェ…

GIMP / Python: GIMP3.0ではPythonプラグインの仕様が大幅に変わる

前回GIMP2.99.4をダウンロードをした、という話を書きました。Ver. 3.00に向けた開発バージョンです。既存のプラグインがどれぐらい動くかというのを確認しようとダウンロードしたのですが、2.10対応のプラグインは全滅です。 Python3ベースになる、というこ…

GIMP / Python Tips: ファイルが読み込まれていないときにプラグインを無効にするには... ?

GIMPにおいて Python-fu を使ってプラグインを作成する際に、プラグインをファイルが読み込まれているときのみ有効にしたい場合があります。つまり、ファイルが読み込まれていないときは薄く表示され無効にしておきたい場合です。 これはどのように実現した…

GIMP / Pyhon tips: drawableとは何か?

GIMPでプログラミングを行っていると、drawable という言葉が出てきます (例えば上の図です)。これと image オブジェクト との違いが分かりにくいのですが、GIMP Developer Resourcesに以下のように説明されています。 A GIMP image is a structure that con…

フリーのGIMP用褪色ポジフィルム復元プラグインを発見

以前、赤色化した褪色ポジフィルムはどの程度復元可能かというのをVuescanや、スキャナドライバ付属のDigital ROCを使ってお見せしたことがあります。ただ、これらはいずれも有料のツールです(スキャナドライバはスキャナを買えば付属しますが...)。しかも現…

GIMP / Python 自作プラグイン (ファイルをレイヤーとして読込) 解説

GIMPにおいて Python-fu を使ったプログラミングを行う場合、特にWindows環境ではデバッグが難しく結構大変です。下手をするとどこが間違っているのかさっぱり分からない場合もしばしばです。私自身もGIMP初歩プログラマですが、それでも私自身の経験も記し…

GIMP / Python 開発用レファレンスマニュアルリンク

GIMP開発用のレファレンスマニュアル等のリンクです。自分用にメモです。 developer.gimp.org GIMP API のレファレンスマニュアル developer.gimp.org GIMP Library リファレンスマニュアル (Ver. 2.8.7以降用) 但し、Pythonから呼び出せないAPIも含まれる d…