我有一个看起来像这样的验证码图像:

使用McAfee的TesserCap实用程序,我可以对图像应用"斩波"过滤器.(在运行之前,我确保图像中只有两种颜色,白色和黑色.)我对在文本框中使用值为2的滤镜的结果印象深刻.它准确地删除了大部分噪音,但保留了正文,导致:

我想在我自己的一个脚本上实现类似的东西,所以我试图找出TesserCap使用的图像处理库.我找不到任何东西; 事实证明它使用自己的代码来处理图像.然后我读了这篇白皮书,它解释了该程序的确切运作方式.它给了我以下对这个斩波滤波器的作用:
如果给定灰度值的连续像素数小于数字框中提供的数量,则斩波滤波器根据用户选择用0(黑色)或255(白色)替换这些序列.在水平和垂直方向上分析CAPTCHA并进行相应的改变.
我不确定我明白它在做什么.我的脚本是用Python编写的,所以我尝试使用PIL来操纵类似于所描述的引用的像素.这听起来很简单,但我失败了,可能是因为我真的不知道过滤器到底在做什么:
(这是使用稍微不同的使用圆形图案的验证码制作的.)
我也试过看看是否可以用ImageMagick的convert.exe轻松完成.他们的-chop选项完全不同.使用-median和一些形态命令有助于减少一些噪音,但出现了令人讨厌的点,字母变得非常扭曲.它不像使用TesserCap进行斩波过滤器那么简单.
所以,我的问题如下:如何使用PIL或ImageMagick在Python中实现TesserCap的斩波过滤器?切碎过滤器比我尝试过的任何替代方案都要好得多,但我似乎无法复制它.我已经工作了好几个小时,还没有想出任何东西.