zoukankan      html  css  js  c++  java
  • 试试一个简单的文档扫描器(机器视觉)

    用途:可以用在智能手机上的名片扫描归档或文档扫描保存。

    设想:我们通过手机的摄像头拍到一张图片如下

    我们的目的是自动获取小票的位置,然后自动整理成正视效果然后整理存起来,需要的效果可能如下

    为了全部自动化于是我们有下边一些可能实现问题的想法和步骤:

    1.首先读入图片灰度化。

    2.为了寻找小票的位置我们可能想从边缘这块出发去寻找小票,为了避免噪音的影响,我们对图片进行高斯模糊然后再进行canny算查找边缘

    可以看出,其实边缘检测效果不太好,具体教通用的参数自己可以去调,这里只做一个示例,当然边缘效果越好,效果就越准确。

    3.做完边缘检测之后,接下要找到小票的话,需要寻找小票轮廓,利用边缘信息寻找轮廓于是有

    可以看出,找到的轮廓多到吓死你,一般像我们这种应用都有个假设,假设我们是用来扫书籍或名片之类的,理论上他们是图片的焦点,相对来说轮廓都是比较大的。

    4.得到原始众多轮廓之后我们就要想办法得到我们想要的轮廓了,我们对这些检测出来的轮廓的面积进行排序取头5-6个比较大的轮廓,然后计算这4-6个中每个轮廓近似的多边形,得到各自的顶点,然后判断哪些轮廓的顶点数量为4的就是我们想要的轮廓了,于是有下图;

    5.这样子我们就得到小票的4个顶点的位置了,然后我们的目标是正视效果 ,于是新的对应顶点位置 是新图片的四个顶点,这样子通过这四个对应点对,我们就可以算出一个投影变换矩阵,然后对原图进行变换就可能得到我们想要的结果

    然后 其实这种方法要做到非常鲁棒性,目前这些方法都无法达到要求的,其实可以产生四个顶点,允许用户交互,对准小票或文档相对于的四个顶点 然后进行第5步的变化相对于如下

    好久没写博客了,先这样了、

    转载请注明出处:http://www.cnblogs.com/beibaoke 谢谢~
  • 相关阅读:
    Fence Repair(POJ 3253)
    Saruman's Army(POJ 3069)
    Best Cow Line(POJ 3617)
    一往直前!贪心法
    最基础的“穷竭搜索”
    Lake Counting(POJ 2386)
    Ants(POJ 1852)
    热身题
    分布式锁的三种实现方式
    Redis在实际开发中面临的问题
  • 原文地址:https://www.cnblogs.com/beibaoke/p/4777428.html
Copyright © 2011-2022 走看看