序·女媧補天篇
另一個世界,擎天大柱傾倒,九州大地裂毀。
傳有一個名叫 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 日...我們再也沒見過那個猿,大概是從天空出現一道裂縫那天起...”
--《夏の日記》