Python使用数学形态学腐蚀运算删除验证码图片中的干扰噪点和线条

近期会议:10月30-11月1日 全国高校Python课程高级研修班(苏州)

好消息:“Python小屋”编程比赛正式开始

推荐图书:

《Python可以这样学》,ISBN:9787302456469,董付国,清华大学出版社,第9次印刷

Python使用数学形态学腐蚀运算删除验证码图片中的干扰噪点和线条

图书详情(京东)Python使用数学形态学腐蚀运算删除验证码图片中的干扰噪点和线条

董付国老师17本Python系列图书均提供配套教学资源。

=======================

问题描述:

给定一个验证码图片,其中包含干扰噪点和线条,有效验证码不容易识别,要求编写程序删除其中的干扰噪点和线条。

技术原理:

遍历图像中所有像素,如果该像素的上、下、左、右像素有白色背景,说明该像素为边缘像素,将其设置为白色。这样处理的话,字符内部的像素保持不变,边缘像素变为背景,单个噪点像素和宽度为2的线条被消除。

处理后的图片中字符的边缘会被“腐蚀”,向内收缩,如果需要的话可以对处理的图片再进行一次膨胀运算,尽力还原字符。

测试图片:

Python使用数学形态学腐蚀运算删除验证码图片中的干扰噪点和线条

Python+tkinter实现验证码输入和切换

Python简易验证码生成程序

处理后的效果:

Python使用数学形态学腐蚀运算删除验证码图片中的干扰噪点和线条

参考代码:

Python使用数学形态学腐蚀运算删除验证码图片中的干扰噪点和线条

温馨提示:

关注微信公众号“Python小屋”,在公众号后台发送消息“大事记”可以查看董付国老师与Python有关的重要事件;发送消息“教材”可以查看董付国老师出版的Python系列教材(已累计印刷超过100次)的适用专业详情;发送消息“历史文章”可以查看董付国老师推送的超过1000篇原创技术文章;发送消息“会议”或“培训”可以查看近期董付国老师的培训安排;发送消息“微课”可以查看董付国老师免费分享的超过500节Python微课视频;发送消息“课件”可以查看董付国老师免费分享的Python教学资源;发送消息“小屋刷题”可以下载“Python小屋刷题神器”,免费练习1139道客观题和112道编程题,题库持续更新;发送消息“编程比赛”了解Python小屋编程大赛详情。