Извлечение текста из ноутбука

Я пытаюсь извлечь рукописный текст из изображений. Я использую python с функциями opencv, такими как us find_contours. Все шло довольно хорошо, когда я использовал изображения, подобные этому:

Введите описание изображения здесь

Это работает хорошо, потому что у меня есть простой фон. Но затем я протестировал его с этим изображением:

Введите описание изображения здесь

Из-за линий тетради в фоновом режиме, я не могу извлечь только текст. Хотя текст красный, я превращаю все изображения в оттенки серого или иногда порог, так что все становится черным, как строки в блокноте. Таким образом, цвет текста не имеет значения. Поэтому мой вопрос здесь: может ли кто-нибудь дать мне совет или возможное решение о том, как иметь дело с такого рода фоном для того, чтобы извлечь текст. Я действительно не хочу использовать метод скользящего окна.
Заранее спасибо

1 ответ

  1. Я решил попробовать еще раз с функционалом HoughLinesP в OpenCV, который на этот раз дал мне гораздо более перспективный и удовлетворительный результат. Вот фрагмент кода, который я использовал для удаления большинства строк:

    import cv2
    import numpy
    
    img = cv2.imread('thresh.png')
    edges = cv2.Canny(img, 50, 150, apertureSize=3)
    minLineLength = 0
    maxLineGap = 5
    lines = cv2.HoughLinesP(edges, 1, numpy.pi / 180, 100, minLineLength, maxLineGap)
    
    for x in range(len(lines)):
        for x1, y1, x2, y2 in lines[x]:
            cv2.line(img, (x1, y1), (x2, y2), (0, 0, 0), 2)
    
    cv2.imwrite('houghlines3.jpg', img)
    

    Дополнительная информация: thresh.png-это изображение, в котором я храню пороговую версию исходного изображения. Все это работает таким образом, что находит линии на изображении и рисует их черными(потому что в моем пороге то, что близко к белому, становится черным и наоборот). Вот как он очищает линии.

    PS: надеюсь, я кому-то помог! Ура!