Gimpでテキスト写真を処理する

ここでは、この問題を解決するためのいくつかのオプションを提供します。 写真の主な問題は、ページの照明の不均一性です。中央の明るさが大きく、端が小さいか、そのようなものです。 多くの場合、ページと比較してテキストのコントラストを上げる必要があります。 通常のレベル補正では、画像の一部が強調表示され、反対に一部が暗すぎます。 すべての方法は、これらの問題を多かれ少なかれ解決します。



処理の材料として、私はこのページを取りました(不要なものをすべて削除した後):



括弧内は楽器の英語名、およびこの場合に使用される設定です

レイヤー分割法

  1. 画像のコピーで新しいレイヤーを作成します
  2. テキストに痕跡がほとんど残っていないが、コーナーと中央の明るさの違いが目立つ場合、ガウスに従って新しいレイヤーを比較的均一にぼかします

    (フィルター->ぼかし->ガウスぼかし:ぼかし半径-100)
  3. このレイヤーのモードを分割に割り当てます(レイヤーウィンドウ:モード-分割)
  4. レイヤーの統合(レイヤー->マージ)






エッジ検出方法

  1. ガウスで背景をぼかします。 テキストがぼやけないようにデルタを選択するには、ぼかしの半径を10より大きく設定する必要はないと思います(フィルター->ぼかし->選択的ガウスぼかし:デルタ-19;半径-15)
  2. カスタムラプラス法を使用してエッジを選択します(フィルター->エッジ検出->エッジ...:アルゴリズム:ラプラス;量:2)
  3. 必要に応じて、画像の色を反転します








個別の輝度補正を使用した長い方法

  1. ガウス背景をぼかし。 テキストがぼやけないようにデルタを選択するには、ぼかしの半径を10より大きく設定する必要はないと思います(フィルター->ぼかし->選択的ガウスぼかし:デルタ-19;半径-15)
  2. 画像のコピーで新しいレイヤーを作成します
  3. ガウスに従って新しいレイヤーを比較的均一になるまでぼかします。テキストはほとんど跡を残しませんが、コーナーと中央の明るさの違いは顕著です(フィルター->ぼかし->ガウスぼかし:ぼかし半径-100)(フィルター->ぼかし->ガウスぼかし:ぼかし半径-100)
  4. このレイヤーのモードを明るさに設定し、密度を50%に設定します(レイヤーウィンドウ:モード-値;不透明度:50)
  5. レイヤーの統合(レイヤー->マージ)
  6. プロセス画像:色->自動->ストレッチHSV






ImageMagicを使用して相対的な読みやすさも実現できます。

(これはGIMPとは関係なく、単なる代替手段です)

convert ./1_original.jpg -colorspace gray \(+ clone -blur 10x65535 \)-compose減算-composite -t​​hreshold 50%./im4.jpg







自動化

MurktはPython-Fuを理解し、これを自動化するスクリプトを作成しました。 コンソールに書き込みます(フィルター-> Python-Fu->コンソール)。
 gimpfu importから*

 def textify_divide(img):
    ly2 = img.active_layer.copy()
    img.add_layer(ly2)
    pdb.plug_in_gauss_rle(img、ly2、100、1、1)
    ly2.mode = DIVIDE_MODE
    img.flatten()

 def textify_edges(img、半径= 10、最大デルタ= 25、金額= 2):
    ly = pdb.gimp_image_get_active_layer(img)
    pdb.plug_in_sel_gauss(img、ly、radius、max_delta)
    pdb.plug_in_edge(img、ly、amount、1、5)
    pdb.gimp_invert(ly)

次のコマンドを使用して、開いているすべての画像を同じコンソールから処理できるようになりました。
 [gimp.image_list()のxのtextedge_edges(x)]

ファイルを開くなど、Python-Fuの他の機能を使用することもできます。
 image = pdb.file_jpeg_load(ファイル名、raw_filename)
 image = pdb.file_png_load(ファイル名、raw_filename)



All Articles