关于透明图片的灰度化问题
最近在使用爬虫获取免费代理时发现一个代理网站上的免费代理端口是以图片展示的,如下图1所示:
图1:
而想要拿到端口号就要识别图中的数字,但是图片上有干扰线,我就百度怎么去掉图片上的干扰线,基本上都是先灰化、二值化然后去噪。然后就下了一张图片进行测试,用python的pil库进行处理,先是灰度化,再利用图片的像素点值不一样的原理,把像素点值大于2的全变为白色,只留下黑色的像素点,最后利用OCR进行识别,emmmmm结果是啥都没了如图2所示,然后我就看了看原始的图片,原来原始的图片是透明的如下图3,4所示,我有百度怎么解决透明图片的识别,无果…
图2:
)
图3:
图4:
因为之前做过手写数字识别的demo,对手写图片的预处理有一定了解,所以我尝试image.convert('P'),把图片转换为P模式的(8位像素,使用调色板映射到任何其他模式),再利用图片的像素点值不一样的原理,把像素点值大于2的全变为白色,只留下黑色的像素点,最后利用OCR进行识别,图片如图5所示:
图5:
代码识别的结果也是正确的如图6所示:
图6:
代码也很简单: