Während des TeX-Stack-Austauschs haben wir diskutiert, wie "Flüsse" in Absätzen in dieser Frage erkannt werden können .
In diesem Zusammenhang sind Flüsse Leerräume, die sich aus der zufälligen Ausrichtung von Zwischenwörtern im Text ergeben. Da dies für einen Leser ziemlich ablenkend sein kann, werden schlechte Flüsse als Symptom für eine schlechte Typografie angesehen. Ein Beispiel für einen Text mit Flüssen ist dieser, bei dem zwei Flüsse diagonal fließen.
Es besteht ein Interesse daran, diese Flüsse automatisch zu erkennen, damit sie vermieden werden können (wahrscheinlich durch manuelle Bearbeitung des Textes). Raphink macht einige Fortschritte auf der TeX-Ebene (die nur Glyphenpositionen und Begrenzungsrahmen kennt), aber ich bin zuversichtlich, dass der beste Weg zum Erkennen von Flüssen eine Bildverarbeitung ist (da Glyphenformen sehr wichtig sind und TeX nicht zur Verfügung stehen). . Ich habe verschiedene Methoden ausprobiert, um die Flüsse aus dem obigen Bild zu extrahieren, aber meine einfache Idee, ein kleines Maß an ellipsoidaler Unschärfe anzuwenden, scheint nicht gut genug zu sein. Ich habe auch Radon probiertObwohl auf Transformationen basierendes Filtern, kam ich damit auch nicht weiter. Die Flüsse sind für die Funktionserkennungskreise des menschlichen Auges / der Netzhaut / des Gehirns sehr gut sichtbar, und irgendwie würde ich denken, dass dies in eine Art Filteroperation übersetzt werden könnte, aber ich bin nicht in der Lage, es zum Laufen zu bringen. Irgendwelche Ideen?
Um genau zu sein, suche ich nach einer Operation, die die beiden Flüsse im obigen Bild erkennt, aber nicht zu viele andere falsch positive Erkennungen aufweist.
BEARBEITEN: Endolith fragte, warum ich einen bildverarbeitungsbasierten Ansatz verfolge, da wir in TeX Zugriff auf die Glyphenpositionen, Abstände usw. haben und es möglicherweise viel schneller und zuverlässiger ist, einen Algorithmus zu verwenden, der den tatsächlichen Text untersucht. Mein Grund, Dinge anders zu machen, ist die FormDie Anzahl der Glyphen kann sich auf die Wahrnehmbarkeit eines Flusses auswirken. Auf Textebene ist es sehr schwierig, diese Form zu berücksichtigen (abhängig von der Schriftart, der Ligatur usw.). Betrachten Sie als Beispiel, wie wichtig die Form der Glyphen sein kann, die folgenden zwei Beispiele, bei denen der Unterschied darin besteht, dass ich einige Glyphen durch andere mit fast der gleichen Breite ersetzt habe, sodass eine textbasierte Analyse dies berücksichtigen würde sie gleich gut / schlecht. Beachten Sie jedoch, dass die Flüsse im ersten Beispiel viel schlechter sind als im zweiten.
ImageLines[]
Mathematica mit und ohne Vorverarbeitung verwendet. Ich denke, dies ist technisch eher eine Hough-Transformation als eine Radon-Transformation. Es wird mich nicht wundern, wenn die ordnungsgemäße Vorverarbeitung (ich habe den vom Datageist vorgeschlagenen Dilatationsfilter nicht ausprobiert) und / oder Parametereinstellungen dazu beitragen, dass dies funktioniert.