具有重叠部分的图像的字符分割

时间:2019-04-12 17:32:27

标签: python ocr captcha

我尝试用重叠的字符对验证码进行分段,但是根本没有任何效果。

我已经阅读了一些有关字符分割的文章,并试图实现一种算法,该算法可以按列对像素进行求和,并找到应该构成不同字符开头的局部最小值。但是,该算法无法正常工作,因为字符非常偏斜。

我也试图消除重叠部分,但最终完全侵蚀了文本的重要部分。

以下是一些示例:

enter image description here

enter image description here

enter image description here

img = cv.imread('captcha.png')
cv.threshold(img, 127, 255, cv.THRESH_BINARY_INV)
gray = FindDividingCols(gray)
### algo for summing over pixels and finding local minima:
col_pix = np.apply_along_axis(lambda row: np.sum(row)//255, 0, img)
loc_min = np.r_[True, lst[1:] < lst[:-1]] & np.r_[lst[:-1] < lst[1:],True]

我想知道我想念的是什么,或者还有什么其他的细分方式?

2 个答案:

答案 0 :(得分:0)

这些验证码被故意扭曲,从而使OCR算法很难读取它们。如果这样做相当容易,则验证码将毫无意义。因此,您可能有一个需要大量研究和工作才能解决的问题。我认为Stack Overflow不会轻易提供答案(如果确实如此,则验证码会更难);)

答案 1 :(得分:0)

如果您真的想要并且需要将这些严重扭曲的字母逐个字符地分割成不同的字符分割输入以供检测神经网络,那么最好的(我认为也是唯一的方法)是通过相同的神经网络将它们分割成不同的实体。所以你最终会有 2 个神经网络

1- 用于分段

2-用于检测