opencv 轮廓放大_基于openCV,PIL的深色多背景复杂验证码图像转灰度二值化,并去噪降噪处理分析...


title: 【python】基于openCV,PIL的深色多背景复杂验证码图像转灰度二值化,并去噪降噪处理分析 type: categories copyright: true categories: 可视化 tags: - Python - 数据可视化 abbrlink: 38231785 date: 2020-03-15 20:18:49 updated: comments:


一. 前言与说明

参与一个比赛需要对项目中的验证码进行降噪处理,以便后续的工作。

但是该图像集(5000张)构成十分复杂,有部分图像背景色与字符颜色极为相近甚至达到人眼难以辨别的程度。

例如下图的528.jpg。

d9a05c7b140afaa5cdf6bca83f1e7c45.png

二. 初步思路及效果

采用PIL的方法对原始图像读取并处理像素。

转为灰度图像,随后二值化并进行降噪处理。

转换并二值化的算法代码如下:

def 

此时效果对于大部分图像尚可。

但同时也发现有部分黑图,以及噪点极多的图像,且大多数图像的噪点仍然比较多,不是很干净。

d23500b3c75be2317042ab916aadc039.png

三. 成图检验分析

(一). 思路

  1. 将处理后的图像集进行遍历,筛选出质量较差的图像,并按照序号所引进行处理;
  2. 将影像像素值统计;
  3. 可视化分析找出差异特征并处理图像;
  4. 成果​导出。​

(二). 筛选数据导出

将筛选的图像特征数据导出到 csv 文件中。

代码如下:

# In[011]:

(三). 数据可视化分析

1dc43273a1047c5d8df2f2d0a10bfd78.png

a320b8c4815d333d9b3d34d8690fc1bc.png

633ebc94b7c14319a99f1ce00b14bd5a.png

离散分布图中,明显可见检测的黑色点所占百分比有部分图像的 point 值超过了平均值7.6,此即为黑图,小于 5 的为残缺较为严重的图像。

四. 新处理思想探索与效果(较为显著)

(一). 使用 OpenCV 灰度灰度图再进行二值化降噪

此步有利于避免前一步的黑图。

但也引入了新的问题,就是对灰度图的二值化引入了很多噪点:

759c04734c05a08d191b0bca85db2f4c.png

单张图像放大展示:

694d11dc5da678f2f1bd4794326817d0.png

对该图再去噪又会破坏文字的完整性,且效果比较差,减小阈值又会造成所需特征缺失,如下图:

66c5452b9b803bd5ff1c129c0a4db07f.png

(二). 基于 openCV 加入高斯滤波

fd04e90774947130668a3422abbe5db4.png

(三). 对加入滤波后的图像再次进行二值化并去噪

2e3b2c83cb466196a81d8e25d803baa1.png

至此,降噪基本达到效果,背景噪点数量极少,字符显示极为清晰透亮,白白净净。

五. 残缺图的产生与验证增强

经过前一步的处理后,虽说去噪效果极好,但我们发现部分图像的字符有所残缺。

经过多次认证测试,摸索出的新办法思想如下:

51868f4664d39c2381e8c57bb1f49fd9.png

以上流程部分内容代表去噪算法。

278dd85b0af88de13eacd33a434804bf.png

30acfe89e7a7c0dcd37f6d14d8f16af2.png

以上为图像增强测试主要过程及效果,下面对图像集进行批量处理 :

93385da7848b808479e72934483af47d.png

其中测试用到的增强对比度的算法为伽马算法:

# In[011]:

六. 降除效果可视化

566ee9fb8966e1dca8bc565d2f7d6653.png

ad5d18c8bc6298e84f1210c63b1ed135.png

fbe3ac2c5aecad1848aef03c5779e9f5.png

point 无明显偏移情况。

06a321ea1ec1e01d3166a3012f4a1fa4.png

对比图像,去噪效果较为明显,原残缺图像得到增强。

七. 最终效果

bb39ffc9c53b5df1bcd6134af316a013.png

八. 不足之处

部分字符颜色与背景色极为接近的图像,在经过处理后,在字符区域会

造成团簇状黑斑,或是字符消失,解决这一问题,需要用到基于

TensorFlow 等框架的深度学习去完成了。

60383d175d0f7542a10e7b5c7e08ba1a.png

但根据下图的去噪效果分析可见,该类残缺图所占比重较少,具体占比需要依据个人的数据训练集的质量而定:

06a321ea1ec1e01d3166a3012f4a1fa4.png

九. 交流与源代码获取

源代码目前仍在完善中,尚未同步到 GitHub 仓库,有学习需要的伙伴或是想要了解更多内容,请到本人WX

公众号查找往期文章,需要代码可后台回复或是文章内直接获取:

6a6930432907adba525ca7dccbf2ba7f.png
个人网站​www.ganahe.top
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值