用 Mathematica 玩找茬遊戲

80後的老婆喜歡玩一種休閒遊戲,叫"大家來找茬"。遊戲很簡單就是兩張照片,挑戰你的眼力,看看能否在圖中找出它們所有的差異。有一次,連自稱高手的老婆她自己也找不出,究竟有什麼差異。題目照片如下兩圖,它們之間隱藏着5處的差異。

 

下載鏈接: http://www.gx22.com/dmyx/dmyx_5985.html

 

1. 數據圖像

 

我看看了題目,突然想到用Mathematica 8 來解決這個問題就十分簡單。於是動手試了試。

 

第一步,將兩張圖像照片分別提取出來,並修邊去毛刺。

 

2. 圖像比較

 

第二步:比較兩張圖像照片,如果你裝了 M8 那就調用 ImageDifference ,如果你還在用 M7 那麼 ImageSubtract 也可以。

 

3. 結果處理

 

其實結果基本已經出來了,只是還不太清晰。於是第三步我們可以用 ImageApply 函數在提升一下對比效果。

 

背景底色是黑色的,我不喜歡,於是換成白底。

 

 

4. 效果演示

 

將區別之處模糊一下,再轉化爲二進制的黑白圖。

 

再將區別之處的黑白圖,作爲 Masking ,分別映射到兩張原圖上。

 

哈哈!老婆(紅太狼),現在你能看清它們之間的區別之處了吧!

 

When doing mathematics, instead of burdening the brain with the repetitive job of redoing numerical operations which have already been done before, it's possible to save that brainpower for more important situations by using symbols, instead, to represent those numerical calculations.
--- Ernst Mach (1883) , Quote from Michael Trott, The Mathematica GuideBook for Numerics

 

看來,Mathematica 不僅可以省點腦力,還可以省點眼力。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章