2021年9月12日日曜日

ファクシミリの湾曲を補正

 厚く製本された曲集をカメラで撮影したり、スキャナーでスキャンするとき、本の閉じ代部分が湾曲しているので、得られた画像では直線であるべき水平線が湾曲してしまいます。

この湾曲してしまった部分を元に戻すソフトウェアは市販されていますが、変形のし方が多様なファクシミリ画像には使えないことが多いことは想像がつきますので、自分でプログラムを書いてみました。

DufaultのPaduana (Rostock)は、左側1/6程度だけが変形しています。しかも、上部はほとんど変形しておらず、下方ほど大きく変形しています。これでは、既知の定型的な手法はそのまま使えません。

Original

2次関数を使って工夫を加えた補正式を考えてみました。もっと高次の関数が必要かとは思いましたが、全体が元々揺らいている直線なので、完全な直線にしてしまうと逆に違和感が出てきます。これでも良いのではと考えました。

まず、そのまま単純に補正式を適用した場合、ジャギーと呼ばれるギザギザが現れて汚くなります。

Quadratic function : simple

同じ補正式でも、バイリニア補間でやってみると、綺麗になります。

Quadratic function : with bi-linear method


画像全体に渡って一様に変形してしまっているときは既知の初歩的な手法で補正できます。

例:斜めから撮影した画像を、あたかも、真上から撮影したかのように見える画像に変換できます。

Elementary method
撮影・スキャン時に、原稿が傾いたり、斜め方向から撮影したような場合は、この方法で上手く補正できます。