回答:
はい、可能です。例としてWikimedia Commons(ed_g2sによる、CC-By-SA 3.0としてライセンス供与)からのこの画像を使用して、それがどのように行われるかを概説しましょう:
同じ画像のレイヤーとして黒と白の背景バージョンを開きます([レイヤーとして開く...]を使用するか、両方を開き、一方を他方にコピーして貼り付けます)。まだそうなっていない場合は、白いレイヤーを黒いレイヤーの上に移動します。2つのレイヤーは次のようになります。
レイヤーの違いを取る:黒いレイヤーのクローンを作成し(後で必要になります)、白いレイヤーのレイヤーモードを「差分」に変更してマージします。結果を反転させます。これにより、元の画像のアルファチャネルが得られます。
編集:背景が白黒でない場合、反転した差分レイヤーの背景は黒になりません。これを修正するには、最初にレイヤーの彩度を下げ(コントラストが最高になるモードを使用)、次に[ 色]→[自動]→[ノーマライズ]を使用して背景を黒にします。代わりにChannel Mixerを使用することもできますが、使用するのが少し面倒です。
(再作成しているアルファチャネルに少なくとも100%の不透明度の部分がある場合、上記の正規化は機能します。再作成しているイメージがどこでも半透明の場合は、代わりに[ 色]→[レベル...]を使用して、ブラックポイントのみを設定できます。 )
まだ持っていない場合は、次のステップで背景が黒のバージョンの画像も作成する必要があります。これを行うには、次の追加手順を使用します。
事前に乗算されたアルファを持つ画像フォーマットを使用していた場合、多かれ少なかれこれで完了です。しかし、そうではないので、RGBチャネルをデマルチプライする必要があります。これを行うには、前の手順で作成したアルファレイヤーを複製し(または単にクリップボードにコピーし)、そのレイヤーモードを「分割」に設定して、手順2の前に複製した黒い背景のレイヤーとマージします。結果次のようになります(違いを確認するには、元の黒背景バージョンと比較してください)。
次に、結果のレイヤーにレイヤーマスクを追加し、マスクを選択して、そこにアルファレイヤーを貼り付けます。結果は、ほぼ元の透明な画像のように見えるはずです。最後に、マスクを適切なアルファチャネルに変換するために、それを適用できます(ただし、GIMPのPNGエクスポートでは、そうしなくてもそれが行われます)。さあ、行きましょう—すぐに使える再構築された透明なPNG:
もちろん、この手法では、純粋な黒と純粋な白の背景にあるバージョンの画像が必要です。背景が少しずれている場合でも、同様の方法を使用できますが、追加の色調整を行う必要があり、結果が完全ではない場合があります。(編集:上記のステップ2への追加を参照してください。修正された説明は、無地の色であれば、どのような色の背景でも機能します。)
Ps。GIMPには「色消去」機能もあり(バケット塗りつぶしツールのブレンドモードとして、または画像全体の色をアルファに...)、画像のバージョンが1つしかない場合に透明度を再構築するのに役立ちます。無地の背景に。ただし、慎重に使用しない限り、出力を生成する傾向があり、意図するよりも透明度が高くなります。
Pps。元の画像と再構成された画像を非常に注意深く比較すると、完全に同一ではないことがわかります。一部の色の値は1/256ほどずれています。これは、GIMPの「除算」レイヤーモードの仕組みによるものです。出力 =(255× 入力)/ レイヤーとなるアルファ乗算の真の逆数を計算するのではなく、実際に出力 =(256× 入力)/(レイヤーを計算します。+ 1)。このミスマッチは、見かけ上、ゼロによる除算を回避するために行われますが、一部の色は、本来とは少し異なる値に丸められる可能性があります。悲しいかな、GIMPにパッチを当てる、分割を思い通りに行うためのプラグインを書く、または他のプログラムを使用する以外に、私はこれを回避する方法を知りません。しかし幸いにも、実際には人間の目で知覚できるとしても、色の違いはめったにありません。