zoukankan      html  css  js  c++  java
  • 5万元百元大钞的"渣渣钱"重新拼接的软件方面的解决办法的思路。

    http://cd.qq.com/a/20120506/000011.htm
    这个新闻中提到的5万元的钞票被撕碎,要想重新拼接起来,方法很多,但难度都比较大。
    下面是我想到的一种。各位程序员大虾看可行否。

    第一步 取样,把碎片记录成一张张的图片。
    1. 在一张纯色的桌子上铺满碎片,碎片不能重叠。用相机拍照。
    2. 把照片的背景去掉,导出为一张张的小图片,图片名字为该碎片在照片里的坐标点。
    第二步 图像识别
    1. 识别出每张图片在钱币中的位置,标记周围一圈的坐标。(这一块还没有找到处理方式的细节,不过理论上肯定是可以的)
    2. 把碎片坐标编号,和 周围一圈的坐标,存入数据库。
    第三步 边缘识别
    1. 取出一个碎片的数据,找到周围坐标中的一个点。
    2. 从其他周围坐标数据中找相同的点,找到后,再次找这两个碎片中其他相同的坐标点,大于5个相同点的为可以拼接的两个碎片。(几个点根据坐标的精确度和实际情况确定)
    3. 把这些相同点,存入另外一张表中,标记出坐标点,该坐标点是那两块碎片的。
    4. 每次识别的目的就是找到一张可以拼接的纸币,当所有的重合点都找到以后(除了纸币本身周围的点)。认为一个纸币拼接完成。
    5. 把识别完成一张的所有的重合点找到,第3步中记录的点。在一个坐标中画出所有的点,并标记出重合线是由哪两块碎片组成。
    第四步 人工组合
    1. 为了人工组合,需要准备的有:上一步得到的重合点组成的拼接图;每张碎片在最初照片中的位置坐标;
    2. 由碎片的坐标位置,把组成一张人民币的所有碎片找到,按照拼接图拼接。重合线上会提示是哪两块碎片的线,方便拼接。
    3. 找那种比较宽的透明胶带,粘在拼接好的纸币上。

    重复第三步和第四步。可以找到一张张的人民币。

  • 相关阅读:
    EBS SQL > Form & Report
    oracle sql 优化分析点
    MRP 物料需求计划
    MRPII 制造资源计划
    Barcode128 应用实务
    Oracle SQL语句优化技术分析
    APPSQLAP10710 Online accounting could not be created. AP Invoice 无法创建会计分录
    Oracle数据完整性和锁机制
    ORACLE Responsibility Menu Reference to Other User
    EBS 常用 SQL
  • 原文地址:https://www.cnblogs.com/yuer01/p/2486094.html
Copyright © 2011-2022 走看看