Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 删除验证码背景_Python_Image Processing_Captcha - Fatal编程技术网

Python 删除验证码背景

Python 删除验证码背景,python,image-processing,captcha,Python,Image Processing,Captcha,我进入了一个验证码的网站,我想摆脱。下面是一些示例图像 由于背景是静态的,单词是计算机生成的非扭曲字符,我相信它是非常有能力的。因为将图像直接传递给Tesseract OCR引擎不会产生积极的结果。我想在OCR之前删除验证码背景 我使用Python PIL尝试了多种背景删除方法 删除所有非黑色像素,这会删除线条,但不会删除小的实心黑框。 应用上面提到的过滤器,这不会移除小的实心黑匣子。而且它的效果不如方法1。 方法1和2会给我这样的图像 看起来很接近,但Tesseract无法识别该字符,即使在删

我进入了一个验证码的网站,我想摆脱。下面是一些示例图像

由于背景是静态的,单词是计算机生成的非扭曲字符,我相信它是非常有能力的。因为将图像直接传递给Tesseract OCR引擎不会产生积极的结果。我想在OCR之前删除验证码背景

我使用Python PIL尝试了多种背景删除方法

删除所有非黑色像素,这会删除线条,但不会删除小的实心黑框。 应用上面提到的过滤器,这不会移除小的实心黑匣子。而且它的效果不如方法1。 方法1和2会给我这样的图像

看起来很接近,但Tesseract无法识别该字符,即使在删除顶部和底部点行之后也是如此

创建背景遮罩,并将背景遮罩应用于图像。 这是蒙版图片

这是应用了遮罩并去除灰线的图像

然而,盲目地应用此遮罩会在验证码字符中产生一些白洞。但泰瑟拉特还是没能找到这些词

有没有更好的方法去除静态背景


最后,如何将过滤后的图像分割成6个字符的图像?非常感谢。

我可以给你一些想法让你试一试

应用步骤3后,可以使用PIL加厚图像中的黑色边缘,以填充白色孔洞。我猜您正在使用python tesseract。如果是,请参考中的示例4


要提取字符,请参阅。有一些方法可以分析图像的直方图,以便定位空白的位置,从中可以推断出边界

谢谢你,帕科。我发现Tesseract不适合OCR,但我使用的是场景OCR API服务器。这对我的案子来说已经足够了=有关更多详细信息,请查看示例