从笔记本中提取文本

Text Extraction from Notebook

我正在尝试从图像中提取手写文本。我将 python 与 opencv 函数一起使用,例如 find_contours。当我使用像这样的图像时,一切都很顺利:

它工作正常,因为我有一个简单的背景。但后来我用这张图片测试了它:

由于背景中笔记本的线条,我无法仅提取文本。尽管文本是红色的,但我将所有图像都变成了灰度,有时甚至变成了阈值,所以它们都变成了黑色,就像笔记本上的线条一样。这样文本的颜色就没有关系了。所以我的问题是:任何人都可以就如何处理这种背景以提取文本给我建议或可能的解决方案。实在不想用滑动window的方法。 提前谢谢你

我决定再次尝试使用 OpenCV 中的 HoughLinesP 功能,这一次给了我一个更有希望和令人满意的结果。这是我用来删除大部分行的代码片段:

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:希望我能帮到别人!干杯!