从浮雕/凸起图像获取近似深度地图的算法

9
我试图从硬塑料身份证的图片中读取信息。首先,我一直在尝试处理这些图片,使得文字更容易被计算机读取。这些图片相当清晰,但它们很棘手,因为一侧亮度较高,另一侧亮度较低。似乎可以利用这些信息创建深度图,然后将其转换为黑白图像。主要是想知道是否有一些已知的算法(越简单越好)可以实现。目前,我正在使用Python和PIL进行其他处理,但任何我可以适应的实现都很好。
我正在处理的图像的一个小例子:

您可以将图片上传到例如http://imgur.com,并在此处链接它们。在谷歌上发现的“浮雕”图像通常是计算机图形的结果,而您的样本是(照相机拍摄的照片)。 - etarion
这个想法是通过OCR技术对它们进行识别?光线始终来自同一方向吗? - user180326
1
获取深度图的“多个光角度”称为“光度立体”,而对于单个光源,则称为“形状阴影”。如果您需要关键字来查找您要查找的内容-实际上这不是我的领域,所以我无法告诉您更多信息,但如果您只是想识别数字,则可能不需要深度图-请参见@belisarius的答案。 - etarion
@etarion 感谢您提供的关键词。每次我搜索缓解时,都会得到灾难救济的结果,而浮雕则总是出现制作浮雕图片的步骤。 - 101100
请注意,@etarion提到的“阴影形状”是正确的选择,如果您无法避免它的话:)。这比下面的方法更加繁琐,我认为您不需要一个3D表示... - Dr. belisarius
显示剩余2条评论
1个回答

12

在Mathematica中的示例。如果结果令人满意,我可以逐步解释该过程。

Erosion[
 ColorNegate@
  Thinning@
   Dilation[
    DeleteSmallComponents[
     DeleteBorderComponents@
      ColorNegate@
       Binarize@Import["http://i.imgur.com/GLzvj.png"],
     150],
    8],
 8]

图片描述

编辑

一步一步地...

从以下开始:

图片描述

图片描述


这正是我想要的!我看到了否定并且认为它是在反转图片,但你能解释一下其他步骤吗? - 101100
@101100 ColorNegate[] 只是因为下面的函数(例如 DeleteBorderComponents)将 "组件" 认定为白色。这只是一个平台上的麻烦,没有什么重要的东西在里面。我会更新答案展示逐步结果。 - Dr. belisarius

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接