Python使用数学形态学腐蚀运算删除验证码图片中的干扰噪点和线条
近期会议:10月30-11月1日 全国高校Python课程高级研修班(苏州)
推荐图书:
《Python可以这样学》,ISBN:9787302456469,董付国,清华大学出版社,第9次印刷
图书详情(京东):
董付国老师17本Python系列图书均提供配套教学资源。
=======================
问题描述:
给定一个验证码图片,其中包含干扰噪点和线条,有效验证码不容易识别,要求编写程序删除其中的干扰噪点和线条。
技术原理:
遍历图像中所有像素,如果该像素的上、下、左、右像素有白色背景,说明该像素为边缘像素,将其设置为白色。这样处理的话,字符内部的像素保持不变,边缘像素变为背景,单个噪点像素和宽度为2的线条被消除。
处理后的图片中字符的边缘会被“腐蚀”,向内收缩,如果需要的话可以对处理的图片再进行一次膨胀运算,尽力还原字符。
测试图片:
处理后的效果:
参考代码:
温馨提示:
关注微信公众号“Python小屋”,在公众号后台发送消息“大事记”可以查看董付国老师与Python有关的重要事件;发送消息“教材”可以查看董付国老师出版的Python系列教材(已累计印刷超过100次)的适用专业详情;发送消息“历史文章”可以查看董付国老师推送的超过1000篇原创技术文章;发送消息“会议”或“培训”可以查看近期董付国老师的培训安排;发送消息“微课”可以查看董付国老师免费分享的超过500节Python微课视频;发送消息“课件”可以查看董付国老师免费分享的Python教学资源;发送消息“小屋刷题”可以下载“Python小屋刷题神器”,免费练习1139道客观题和112道编程题,题库持续更新;发送消息“编程比赛”了解Python小屋编程大赛详情。