2019年12月5日木曜日

GIMP 写真の傾き補正(縮小前提)

昔々、こんな投稿を書いています。
写真とトリミング 傾き補正 [初心者向け]
傾いて仕舞った写真から傾きを補正すると、瓜二つでは無くなる! と言いたかった訳です。
でも、それを する羽目 になったら ... 。


はい。  傾いた写真を修正すると、ディテールが損なわれる ... 。   旧投稿 参照。
  旧投稿 で書いたのは、GIMP 2.8 の頃の お話 です。
  基本、現行の 2.10 でも同じだと思いますが、 作業時に、
  画像精度を 標準の 8 bit 整数 から 32 bit 浮動小数点 等に変える事で、好転する気もします。
  試してはいませんが ... 。 (内部演算では、32 bit で動いている、とも、聞いた様な気が。?)

出来れば ... 避けたい ... 。
でも ... 。

直したい局面もあるでしょう。
トリミングして、縮小するなら、更に、ディテールは失われて行きますけれど ... 。
曲がった画面は、何としても、許容出来ないとすれば ... 。

やるしか無い ... ですよね。


普通、傾き補正すれば、原画の外枠に接する四隅の三角形部分を切り捨てる事になります。
そう、ひと廻り小さな画像になりますね。
これは、外側に写真の情報が無いのですから、避けられません。
鏡像反転や部分コピーから、無い情報を補う手法もありますが、
フェイクになりますから、一応、思案の外にして置きましょう。
また、フェイクで良いなら、画像そのものを歪ませて(傾斜や台形の変形)、傾きを取る方法だってある訳です。
GIMP でなら、ツールの 剪断変形や遠近法 になりますね。


以下は、正攻法(ひと廻り小さな画像)です。
GIMP を使って、レイヤーとして取り込んだ画像(縮小前提)に関して、です。
原画と同一の縦横比を維持したまま、最大限の大きさで、傾きを直す方法になります。
細部のニュアンスの違いには 手は入れられませんが ... 。.


私は、いい加減な性格でして、
えいっ!やぁ! とばかりに、 画像を少し大き目に縮小し、傾きを取るケースが多いです。
これはアバウトな方法!。
フレームぎりぎり迄、活かした方法ではありません。
多くのケースで、小さ目に補正された画像出現 と相成ります。
まぁいいかぁ~、 と、なから、諦めモード の場合が多いのです。


もっと正確に!。
と言う訳で、 先ずは ... 。

GIMP のスクリプト用コンソールから、実験して見れば分かりますが、
GIMP で回転させたレイヤーは、斜めになったフレームの四隅に対して、
直行座標の外側から、width height を取得します。
そうです。  回転させると、元より大きなレイヤーサイズで表示されている筈です。
これを利用して、丁度ピッタリなサイズで、回転させる事も可能なのです。



最初に、どの位、回転すべきかを検討します。
定規ツール を使って、 傾き角 を調べます。

  画面上で、クリックドラッグさせれば表示されます。
  情報ウィンドウを使用 にチェックを入れれば、確認も楽ですね。

垂直線や水平線地平線の類があれば、目安になりますが、
写真の場合、レンズ画角との兼ね合いで、湾曲や歪みがあるのが当然ですので、
細部では無く、全体像を見渡せる様に、一旦、仮縮小して、
そこから判断するのも良いでしょう。

  ツールの類 (UI) は ° (Degree) 単位ですが、
  スクリプト上は ラジアン (Radian) 単位ですので、
  変換してあげる必要があります。  ご注意を。

  また、 定規ツールでは 何時も 正の値 で表示されます。
  他の 回転ツール等では、
  時計廻り が 正の値、 反時計廻り が 負の値、 ですので、お間違え無き様。

縮小後のサイズに調整したレイヤーを新設します。  縮小後の縦横比が同じなら省略可。
縦横比が狂わない様なサイズを選びましょう。.
それとは別に、 元画像をコピーして、傾いたまま、縮小して仕舞うのが 最短かも。
使わないレイヤーになりますが、
先に述べた 角度取得目的にも流用出来るので、楽です。
これを逆回転させて、幅と高さの サイズ を取得します。
目的の逆回転後の矩形は、このサイズの中に納まるので、
回転によって、透明背景(or 下のレイヤー)等が顔を覗かせる事は無い筈です。
言い換えれば、
求めたサイズで、元画像から縮小し直し、
それと同じ角度で回転すれば、元のフレームぎりぎりで補正矩形を切り取れる最小のサイズ!。

  無論、この お試し レイヤーは、傾けた余白に 透明部分が出現しますから、使い物にはなりません。
  用済み後、回転作業を取り消せば、傾き補正前のサンプルになりますね。

さて、後は、
元写真をそのサイズで縮小して、
更に回転させれば、おしまい です。

  回転後のレイヤーは目的のサイズより、ひと廻りか ふた廻りか 大きい筈ですが、
  画像サイズが目的のサイズであれば、そのままエクスポートすれば良い筈です。


手順のポイントを図示します。
身近に良い例が無いので、後方建物の前の斜路を真っ直ぐにして見ました。 強引な例ですけど ... 。.


  おっと!。 図をアップしてから気付きました。 一番上のみ画像表示倍率が低くなってますね。
  すみません ... 。 X(  直さずに、このまま とさせて戴きます。 .



[2019/12/06] 図挿入
[2019/12/07] 図の内容について、追記。

0 件のコメント:

コメントを投稿