用 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 不仅可以省点脑力,还可以省点眼力。

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