TeXスタック交換については、この質問の段落で「川」を検出する方法について議論してきました。。
この文脈では、川はテキスト内の単語間スペースの偶発的な整列から生じる空白のバンドです。これは読者にとって非常に注意をそらす可能性があるため、悪い川はタイポグラフィの悪さの症状であると考えられています。川のあるテキストの例はこれです。2本の川が斜めに流れています。
これらの川を自動的に検出することに関心があり、それらを回避することができます(おそらくテキストを手動で編集することによって)。RaphinkはTeXレベル(グリフの位置と境界ボックスのみを知っている)である程度進歩していますが、川を検出する最良の方法は画像処理を使用することだと確信しています(グリフの形状は非常に重要であり、TeXでは利用できないため) 。上記の画像から川を抽出するさまざまな方法を試しましたが、少量の楕円形のぼかしを適用するという私の単純なアイデアは十分ではないようです。私もいくつか試しましたラドンハフ変換ベースのフィルタリングですが、これらのいずれにもアクセスできませんでした。川は人間の目/網膜/脳の特徴検出回路に非常に見えており、何らかの形でこれを何らかのフィルタリング操作に変換できると思いますが、機能させることはできません。何か案は?
具体的には、上記の画像で2つの河川を検出する操作を探していますが、他の誤検出はあまりありません。
編集: Endolithは、TeXではグリフの位置、間隔などにアクセスできるため、画像処理ベースのアプローチを追求している理由を尋ねました。実際のテキストを調べるアルゴリズムを使用する方がはるかに高速で信頼性が高いかもしれません。物事を別の方法で行う理由は、その形がグリフの大きさは川の目立ち方に影響を与える可能性があり、テキストレベルでは、この形状(フォント、合字などに依存)を考慮することは非常に困難です。グリフの形状がどのように重要であるかの例については、次の2つの例を検討してください。それらの違いは、いくつかのグリフをほぼ同じ幅の他のグリフに置き換えたことです。それらも同様に良い/悪い。ただし、最初の例の川は2番目の例よりもはるかに悪いことに注意してください。
ImageLines[]
Mathematicaから使用しました。これは技術的にはラドン変換ではなくハフ変換を使用していると思います。適切な前処理(datageistの推奨する拡張フィルターを試していませんでした)および/またはパラメーター設定がこの機能を実行できる場合、私は驚かないでしょう。