刚刚看到一个令人伤感的新闻,一个家庭的妻子生病,将5万块钱撕成碎片。12个银行工作人员花了6个小时才拼出一张钱。为此做邮递员的丈夫决定辞职回家拼钱,人的精神状态也受到严重的打击。 (照片引自:http://society.people.com.cn/GB/17817138.html)
这样的事情如果发生在古代,要有效解决当然是比较困难的。不过在现代计算机发展这么迅速的条件下,这一问题的解决就不是那么困难了。
如何用计算机解决这个家庭所面临的困境,我这里提议可以采用这样的方法:
首先判断一下计算机可能涉及到的工作量,如果计算工作量非常大,那当然就会有困难。如果计算量适中或者不大,则稍微编个程序,或采用现有的拼图软件就可以轻松完成这一工作。
5万块钱包含了500张百元大钞。生病妻子撕碎后,每张钞票就变成最多10个碎片,这样总的碎片数就是5000块,数量其实并不多。因此可以采用手工和计算机互相结合的方式来进行操作。
其次所需做的就是按以下步骤来进行:
1 准备一张黑色的纸板(或木板等),原因在于黑色背景与钞票的对比比较明显。
2 将碎片一块一块按照顺序贴在纸板上。粘贴的时候注意每张钞票正面向上(或者全部反面向上,这是比较容易判断的),然后每个碎片的排列的方向也应该按照原始的上下方向摆放好。做到这一点主要是为简化后续的程序设计打基础。为了保证碎片的粘贴过程不会出现正反面和方向放错,可以在旁边放上一张完整的钞票作为参照。整个过程可能会花比较长的时间。如粘贴一张碎片需要10秒钟,则粘贴5000张碎片需要50000秒,相当于14个小时,每天抽出3个小时来粘贴,一个人1个星期左右就可以完成工作。当然还要特别注意,用什么胶水粘帖,如果到最后撕不下来或者损坏了钞票,银行不认帐,那可就麻烦了。这个多试验几次应该没什么问题。
3 粘贴完毕后,用铅笔给每个碎片标上数字序号,这样便于计算机程序完成拼图工作以后,识别碎片的位置。拼好钱以后用橡皮可以将记号擦除。
4 将粘贴好钱的每块纸板分别放在扫描器中扫描进计算机。
5 编写程序将每个碎片图像抽取出来,分别存放进数据库。并做好索引。
6 编写一段程序按顺序调出一张图片,然后再调出其他图片,一张一张地跟该图片匹配。由于在粘贴的时候已经确定好正反面以及按正确的方向排列,所设计的程序只需要在上下左右四个方向进行匹配就可以了,速度非常快。用Basic程序就可以轻松完成这样的任务。
7 匹配完成以后,按照图像上所做的数字序号标记,在纸板上找到对应的碎片,互相拼接在一起就完成工作了。
整个过程很有意思,难度也不大,大概一个月左右就可以完成了。 PS. 刚才在网上搜索了一下,看到网友们提出了600种方法,不过都不太具体,可操作性不太强。我这个可操作性就比较强一些。 另外有一个网友的留言给我很大启发。其实如果已经做到第4步了,后面步骤也不用做了,也不需要自己编程序了,只需要将这些扫描图像放到网络上,然后在下面开个留言板,用不了多久,网友们很快就会告诉你哪些碎片是可以拼在一起的 。也是一种省事的方法。
转载本文请联系原作者获取授权,同时请注明本文来自程智科学网博客。 链接地址: https://blog.sciencenet.cn/blog-361477-567714.html
上一篇:
恐龙的这种生活方式应该有可能 下一篇:
晚期恐龙生存的微分方程模型