編程模擬自然(二):仿人工拼接碎片


序·女媧補天篇

  另一個世界,擎天大柱傾倒,九州大地裂毀。

  傳有一個名叫 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 日...我們再也沒見過那個猿,大概是從天空出現一道裂縫那天起...”

  --《夏の日記》

附錄

  預知后情,且看下回分解。了解更多請瀏覽目錄導航


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM