Use absolute coordinates in Line.baseline.

This commit is contained in:
Andrey Golovizin 2014-08-13 20:25:01 +02:00
parent cd4aec6f11
commit 360ed844c2
2 changed files with 3 additions and 3 deletions

View file

@ -68,7 +68,7 @@ class PageScene(QGraphicsScene):
for letter in word:
if not letter.image.isspace:
self.addRect(letter.x1, letter.y1, letter.width - 1, letter.height - 1, letterPen, letterBrush)
self.addLine(line.x1, line.y1 + line.baseline, line.x2, line.y1 + line.baseline - 1, linePen)
self.addLine(line.x1, line.baseline - 1, line.x2, line.baseline - 1, linePen)
# self.addRect(line.x1, line.y1, line.width, line.height, Qt.red)
def addPage(self, page):

View file

@ -95,7 +95,7 @@ class Line(PageObject):
gradient = filters.correlate1d(histogram, [-1, 1], axis=0)
# top = gradient.argmax()
bottom = gradient.argmin()
return bottom
return self.y1 + bottom
class Word(PageObject):
@ -113,7 +113,7 @@ class Word(PageObject):
obj_indices = ndimage.find_objects(labels, max_label)
letter_images = (self.image[obj_index] for obj_index in obj_indices)
letters = (
Letter(image, self.y1 + self.baseline - image.y2)
Letter(image, self.baseline - image.y2)
for image in letter_images
)
sorted_letters = sorted(letters, key=lambda letter: (letter.x1, -letter.y1))