我试图从硬塑料身份证的图片中读取信息。首先,我一直在尝试处理这些图片,使得文字更容易被计算机读取。这些图片相当清晰,但它们很棘手,因为一侧亮度较高,另一侧亮度较低。似乎可以利用这些信息创建深度图,然后将其转换为黑白图像。主要是想知道是否有一些已知的算法(越简单越好)可以实现。目前,我正在使用Python和PIL进行其他处理,但任何我可以适应的实现都很好。
我正在处理的图像的一个小例子:
我正在处理的图像的一个小例子:
在Mathematica中的示例。如果结果令人满意,我可以逐步解释该过程。
Erosion[
ColorNegate@
Thinning@
Dilation[
DeleteSmallComponents[
DeleteBorderComponents@
ColorNegate@
Binarize@Import["http://i.imgur.com/GLzvj.png"],
150],
8],
8]
编辑
一步一步地...
从以下开始:
ColorNegate[]
只是因为下面的函数(例如 DeleteBorderComponents)将 "组件" 认定为白色。这只是一个平台上的麻烦,没有什么重要的东西在里面。我会更新答案展示逐步结果。 - Dr. belisarius