text_line_slant
— Bestimmen der Neigung von Zeichen einer Textzeile oder eines Textabschnitts.
text_line_slant(Region, Image : : CharHeight, SlantFrom, SlantTo : SlantAngle)
text_line_slant
bestimmt die Neigung der Zeichen einer Textzeile
oder eines Textabschnitts.
Der Parameter Region
gibt an, in welchem Bereich des Bildes die
Textzeilen liegen. Sie dient lediglich zum Einschränken des
Verarbeitungsbereichs. Innerhalb dieser Region werden die Grauwerte zur
Bestimmung des Neigungswinkels verwendet. Die Textzeilen werden vom Operator
selbst segmentiert. Wird mehr als eine Region übergeben, dann werden die
Zahlenwerte des Neigungswinkels in einem Tupel abgespeichert, wobei die
Position eines Wertes in dem Tupel der Position der Region im Eingabetupel
entspricht.
CharHeight
gibt die ungefähre Höhe der Textzeilen im Bereich
Region
an. Hierbei wird angenommen, dass die Textzeilen dunkler
sind als der Hintergrund.
Durch SlantFrom
und SlantTo
kann der Suchbereich
eingeschränkt werden, womit auch die Laufzeit von text_line_slant
beinflusst wird.
Mit Hilfe des berechneten Winkels SlantAngle
und
den Operatoren zur affinen Transformation kann die Neigung der Zeichen
entfernt werden. Dies vereinfacht möglicherweise die Trennung von Zeichen
für OCR-Anwendungen. Damit das Verfahren funktioniert, müssen alle Zeichen
einer Region eine ähnliche Neigung besitzen.
Region
(input_object) region(-array) →
object
Bildbereich der Textzeilen.
Image
(input_object) singlechannelimage →
object (byte / uint2)
Eingabebild.
CharHeight
(input_control) integer →
(integer)
Höhe der Textzeilen.
Defaultwert: 25
Typischer Wertebereich: 1
≤
CharHeight
Restriktion: CharHeight >= 1
SlantFrom
(input_control) angle.rad →
(real)
Minimale Neigung der Zeichen
Defaultwert: -0.523599
Typischer Wertebereich: -0.785398
≤
SlantFrom
≤
0.785398
Restriktion: - pi / 4 <= SlantFrom && SlantFrom <= SlantTo
SlantTo
(input_control) angle.rad →
(real)
Maximale Neigung der Zeichen
Defaultwert: 0.523599
Typischer Wertebereich: -0.785398
≤
SlantTo
≤
0.785398
Restriktion: - pi / 4 <= SlantTo && SlantTo <= pi / 4
SlantAngle
(output_control) angle.rad(-array) →
(real)
Berechnete Neigungswinkel der Zeichen in der Region
hom_mat2d_identity(HomMat2DIdentity) read_image(Image,'dot_print_slanted') * correct slant text_line_slant(Image,Image,50,rad(-45),rad(45),SlantAngle) hom_mat2d_slant(HomMat2DIdentity,-SlantAngle,'x',0,0,HomMat2DSlant) affine_trans_image(Image,Image,HomMat2DSlant,'constant','true')
Sind die Eingabeparameter korrekt besetzt, dann liefert
text_line_slant
den Wert 2 (H_MSG_TRUE).
Andernfalls wird eine Fehlerbehandlung durchgeführt.
hom_mat2d_slant
,
affine_trans_image
,
affine_trans_image_size
Foundation