以前、レイヤーを使い2つの差分を確認する方法の記事を書きました。


GIMPで画像ファイルの比較差分を調べる方法。
GIMPを使い似たような画像の異なる部分を調べる方法を探してみました。比較したい画像Aと画像Bをレイヤーとして用意する。今回は用意した画像は、画像A複製した画像Bを作成し、差分が出るように画像Bに意図的に加工をしています。(サンプル画像では...
こちらの方法を使い、さらに差分を抽出したレイヤーを作る方法を紹介します。
目的
2枚の画像(もしくはレイヤー)を比較し、
異なる部分のみを抽出したレイヤーを生成する。
手順
1.画像A, 画像Bを2つのレイヤーとして配置
画像Bを上に、画像Aを下に配置。
(両者のサイズ・位置を完全一致していることが前提)
2.画像B(上のレイヤー)を選択して
レイヤーモードを「差の絶対値(Difference)」に設定
3.「同じ部分」が黒く表示される
=ピクセルの差がない箇所が 0 → 黒
差がある箇所は白や色として表示される
4.黒い領域をファジー選択ツールで選ぶ
「しきい値」は20〜50程度が目安(お好みで)
黒背景を選ぶ感じです
5.選択を反転
Ctrl + I
→ 差分(≠黒)部分が選択される
6.レイヤーモードを「標準」に戻す
「差の絶対値」→「標準」へ切り替え
見た目は元画像Bに戻るが、選択範囲は保持されている
7.コピー(選択範囲のみ)
Shift + Ctrl + C
→「選択範囲をコピー(見た目通り)」なので不可視部分も含まれない
8.貼り付け(新しいフローティングレイヤー) Ctrl + V 9.レイヤー化(2.10)
貼り付けた「フローティング選択」を右クリック → レイヤーに固定
GIMP3では自動的にレイヤー化されるので不要
結果
「差分のみを含むレイヤー」が新たに作成されます。
同じ部分は透明、異なる部分のみが色として残るレイヤーになります。
これを他の画像に重ねたり、分析や検出用に使えます。
補足
ファジー選択で精度が変わるため、差分が微小な場合は「しきい値」を小さく。
完全一致の比較であれば自動化やスクリプトの方が精密ですが、目視検査やラフな比較にはこの操作がベストです。
貼り付けたレイヤーは RGBA(透明背景) なので、PNGとして保存すれば透明差分画像として活用可能。
コメント