zoukankan      html  css  js  c++  java
  • 编程模拟自然(二):仿人工拼接碎片

    序·女娲补天篇

      另一个世界,擎天大柱倾倒,九州大地裂毁。

      传有一个名叫 NvWa 的人,她炼出五色石补好了天空,万灵始得以安居。

      ...

    第零章 需求分析

      ”一定要保证基类安全,这片天地是面向对象设计...要密切关注子类受波及的蔓延态势。“

      事发两刻钟后,NvWa 接到了通知,当即成立了抢险指挥部并做了重要发言。

      ”天阙碎片散落人间,但有上古架构师盘古留下的设计文档,只要收集齐天地碎片并用五色石加以炼化就可以复原天空。“

      NvWa 仔细听取了现场工程人员的说明。

      ”立刻落实碎片和五彩石收集工作,大家要在最短时间内完成代码重构,上下一心,尽最大努力挽回不必要的损失。“

      NvWa 对现场的应急小组下达了指令。

      ...

      经过九九六奋战,碎片全部收集完毕。

    图2-1 图像碎片

    第一章 预处理

          把碎片颜色信息二值化,即将图像上的像素点的灰度值设置为 0 或 255。

      二值化

      图像呈现出明显的只有黑和白的视觉效果

    图2-2 二值化

       “一言不发架构师。”

    第二章 特征提取

      获取碎片边缘向量信息,分别用 0 和 1 标记白色和黑色。

    图2-3 边缘特征提取

      “/*不是每个编译器都能看到这句话。*/”

    第三章 特征比对

      通常来说,如果两个碎片相连,它们对应的边缘特征相似度也就越高。

      比较向量的相似度

      可以用余弦定理计算两个向量的相似度

     图2-4 比对特征值

      “天阙碎片封印的这段代码似乎是上古程序员写的注释。”

    第四章 匹配空间

      想象有个工作桌,左边是零散的未拼好的碎片,右边是已经拼了的碎片。

    图2-5 空白

       “我会编程一个美丽的公主哦。”

    第五章 迭代匹配

      有了上面想象的空间,每拼好一张,就在拼好的基础上继续迭代,拼好的一整块碎片就会慢慢变大直至拼接完成。

    图2-6 拼接图像

      “周五了,不知道明天会不会加班。”

    第六章 人工干预

      程序部分已经完了,有时受限于匹配条件,迭代可能会无限地进行下去,此时就需要人工干预。

    图2-8 手动拼接

      “不周山被撞导致天地崩落说明基类遭到破坏的后果是灾难性的。”NvWa 同志在周六的灾后重建座谈会上发表重要讲话。

    后记

      “...元纪 24 年 6 月 5 日,星期天,天气晴。”

      “...那只猿一动不动地蹲在树上,时间仿佛凝固了一万年,斜阳下是它以 PI/4 弧度仰望天空的剪影...”

      ...

      “...10024 年 6 月 5 日...我们再也没见过那个猿,大概是从天空出现一道裂缝那天起...”

      --《夏の日记》

    附录

      预知后情,且看下回分解。了解更多请浏览目录导航

  • 相关阅读:
    开发自定义控件步骤
    asp.net后台调用前台js代码
    使用ResolveUrl设置相对路径
    JavaScript获取后台C#变量以及调用后台方法
    使用jquery的验证插件进行客户端验证
    参数化的模糊查询
    使用Microsoft Enterprise Library 5.0记录日志信息
    我的Ajax学习笔记
    我的工作問題集(VS2005)
    存储过程从入门到精通(转载)
  • 原文地址:https://www.cnblogs.com/experdot/p/4984043.html
Copyright © 2011-2022 走看看