我应该使用什么方法来识别扭曲和扭结的验证码?
What methods should i use to recognize distorted and kinked captchas?
我有一张验证码图片,问题是我不知道如何处理视觉识别(CNN-wise(神经网络)或通过 OCR 库)
我尝试使用其他 Whosebug 问题中的简单案例,但它们似乎太简单了,因为在我的案例中它们重叠且严重扭曲。
示例 1:
示例 2:
for dilate in [1, 3, 4, 5]:
for erode in [1, 3, 4, 5]:
for thresh in [125, 150, 175, 200]:
img = cv.imread('cap.png', 0)
img = cv.resize(img, (300, 120))
ret, img = cv.threshold(img, thresh, 255, cv.THRESH_BINARY)
img = cv.dilate(img, np.ones((dilate,dilate), np.uint8))
img = cv.erode(img, np.ones((erode,erode), np.uint8))
text = pytesseract.image_to_string(img, lang='eng', config='--psm 7 -c tessedit_char_whitelist=0123456789abcdefghijklmnopqrstuvwxyz')
print(text)
我想了解我应该使用什么方法或从哪里开始。训练自己的CNN更好吗?
花了很多时间后,我找到了答案。我希望如果有人对此主题感兴趣,他们会发现我对他们模糊问题的完整回答:)
验证码解决的最快途径不在于分割(我还没有找到任何关于如何精确摆脱验证码中所有复杂连字的答案)。因此,只有一种方法可以生成您的验证码训练集并创建 CNN 模型。
如果您不知道 php,则生成数据集并不容易,因为大多数验证码脚本都是用 PHP 编写的。对我来说,我发现了非常有用的生成脚本“kcaptcha”(它有变形和奇怪的字体)。
CNN 模型的制作并不简单,因为在模型的末尾,我们希望它将 N 个输出折叠成一个(其中 N 个字母)。
我有一张验证码图片,问题是我不知道如何处理视觉识别(CNN-wise(神经网络)或通过 OCR 库)
我尝试使用其他 Whosebug 问题中的简单案例,但它们似乎太简单了,因为在我的案例中它们重叠且严重扭曲。
示例 1:
示例 2:
for dilate in [1, 3, 4, 5]:
for erode in [1, 3, 4, 5]:
for thresh in [125, 150, 175, 200]:
img = cv.imread('cap.png', 0)
img = cv.resize(img, (300, 120))
ret, img = cv.threshold(img, thresh, 255, cv.THRESH_BINARY)
img = cv.dilate(img, np.ones((dilate,dilate), np.uint8))
img = cv.erode(img, np.ones((erode,erode), np.uint8))
text = pytesseract.image_to_string(img, lang='eng', config='--psm 7 -c tessedit_char_whitelist=0123456789abcdefghijklmnopqrstuvwxyz')
print(text)
我想了解我应该使用什么方法或从哪里开始。训练自己的CNN更好吗?
花了很多时间后,我找到了答案。我希望如果有人对此主题感兴趣,他们会发现我对他们模糊问题的完整回答:) 验证码解决的最快途径不在于分割(我还没有找到任何关于如何精确摆脱验证码中所有复杂连字的答案)。因此,只有一种方法可以生成您的验证码训练集并创建 CNN 模型。 如果您不知道 php,则生成数据集并不容易,因为大多数验证码脚本都是用 PHP 编写的。对我来说,我发现了非常有用的生成脚本“kcaptcha”(它有变形和奇怪的字体)。 CNN 模型的制作并不简单,因为在模型的末尾,我们希望它将 N 个输出折叠成一个(其中 N 个字母)。