07 2012 档案
摘要:这是我在台湾交换生时所做的一个项目,其中涉及到了医学影像分割。用简单的话描述一下这个项目:在给定的人脑MR影像中,把海马体(HIP)分割出来,以这部分的特征来判断病人是否患有阿滋海默症。医学影像分割最常用的方法就是snake和atlas map,对于感兴趣的器官的分割,通常的做法是利用图谱或医师的帮助把粗略位置找到,然后正规化,利用snake等方法分割目标,snake的初始轮廓由图谱来确定。但是这样做存在一个很大的问题,每个人的器官不可能长的一模一样,有人胖有人瘦,非洲人与亚洲人也会不一样,很难用一个标准图谱去概括评价所有的人。对于特殊身材的人这样做很可能会造成误判断。这个项目另外的一个难..
阅读全文
摘要:前言(可以直接略过): 最近paper写完了,空闲时间比较多,于是开始画分形几何来玩。在我的上一篇文章中,Julia集和Mandelbrot集已经画过了,这回我想画一点更有意思的东西,想来想去,最终我决定画一个三维的分形图案,于是到M67的网站去抠了一张图,打算自己把它画出来。最初困扰我的是用什么工具来画它,分形图案都有大量的递归,计算量极大,像matlab和mathematica这样的工具封装太厉害,肯定是不行,速度比较快的也就只有openGL了。为了画这个图形,我花了两天时间来学openGL,总算能把它的粗略样子画出来了,小有成就~~正文: 左图是实物的照片。它的生成法则是这样的:...
阅读全文
摘要:Julia集是一个在复平面上形成分形的点的集合,它最早由法国数学家Gaston Julia发现。 Julia集合可以由下式进行反复迭代得到:f(z) = z2+ c,其中z是复平面某一点,c是一个复常数。把这个公式反复迭代,最终会得到一个复数C,然后根据C的模的大小,把这个点映射成不同的颜色,漂亮的Julia集分形就出来了。可以参阅M67的这篇文章,其中有详细的介绍。 下面的几幅图是我用c++和opencv画出来的,一张500*500的图片,迭代15次,在我的i5电脑上跑约不到10秒,速度稍慢。图中不同的C值对应着不同的Julia集,配色比较烂,大家凑合着看。c = 0.73ic = ...
阅读全文
摘要:ps里面的魔棒工具非常好用,是图像处理中非常常用的一个工具,它现在已经是我的c++工具箱中很重要的一员了,我会在以后的时间里把我的工具箱逐渐介绍给大家。 魔棒工具的核心算法是RegionGrow区域成长法,它的概念很简单,首先在要处理的图片上选取一个种子点,然后以此点为起点,向四周辐射形成一个区域。最初成长区域只有种子点这一个点,然后不断把周围的点归并入该成长区域,条件是该点的值与成长区域边界点的值之差小于阈值。当成长区域不能再继续扩大时,算法停止。算法说明: 区域成长法的思想很好理解,代码实现对于初学者有一定难度。对于满足条件的像素点,函数会把它们一个个的压入队列的尾部,然后从队列的...
阅读全文
摘要:文章分为三部分:1、编程之美扫雷篇。2、以前写的扫雷加强版,附下载,不过有一坨bug。3、重构的扫雷加加,附游戏和源程序的下载。一、编程之美扫雷篇这是我几年前在人人网上写的文章,转到这里来。从师兄那里得到了一本很好玩的书《编程之美》,爱不释手。其中有一道扫雷的趣题书中没有给出答案,原题是这样的:问题一:当这个游戏有40个地雷没有被发现的时候,A、B、C三个方块有地雷的概率P(A),P(B),P(C)各是多少??问题二:这个游戏局面一共有16*16=256个方块,P(A),P(B),P(C)的相互大小关系和当前局面中地雷总数有联系么?比如,当地雷总数从10个逐渐变化到240个,P(A),P(B)
阅读全文
摘要:这篇文章是我在6月1号于新浪博客所写,转到这里。如果你看到贴图错误,请看原文很高兴今天收到了朋友的祝福,很快乐很幸福。想来想去写点什么来纪念这个节日,最终决定把我多年打游戏的经验和大家分享一下,看着这些鉴证着我们成长的游戏,你有没有想起当前的感觉?从小学开始玩仙剑,我总结的最快加血大法:先吃一块尸腐肉,然后喝九阴散,立即满血。尸毒是所有毒药里毒性最低的,而九阴散在中毒状态下吃会加满血,健康状态下吃会立刻死掉。大富翁4我当时迷恋了好长一段时间,现在回想起来钱夫人不就是当代白富美吗?这个玩法应该很多人都知道:冬眠卡 + 飞弹,然后你就可以忽略其它3个人了。玩具兵系列只有2代是最好玩的,第二关大瀑布
阅读全文
摘要:在台湾生活了一段时间之后,认识的繁体字也多了一些。虽然从小学习书法,对繁体字不陌生,但也只限于碑帖上的常用字,看报纸杂质还是会有个别的字不认识。随着接触繁体字的时间越来越长,我愈发的感受到繁体字在语义表达上比简体字要准确很多。当初繁体字盛行了这么长时间,肯定有它的合理性,而且现在很多的文字学学者和书法家一直诟病简体字的种种不适,我非常同意他们的看法。 从现在台湾的教育来看,繁体字是很成功的,它的准确性简体字远不能及。有人说繁体字不易于教学,但是小学生的学习都非常强,这一点差别可以忽略,而且据我观察台湾学生的语言水平比大陆要好一点。下面说说繁体字的好处。 繁体字比简体字准确体现在三个方面...
阅读全文
摘要:Rhombicuboctahedron,你可能会问,这是个什么东西? 我最初见到这个单词是在cipher游戏的第31关(如果你喜欢数学或者解谜游戏,一定要玩这个游戏,我在前面的文章有介绍),它的中文翻译为“小斜方截半二十面体”,是“半正多面体”家族中的一员。看到这个名字的一瞬间,感觉真是碉堡了~~!有木有 后来我就一直在想,这个名字是怎么来的,为什么要这么翻译呢?于是wiki了一下,“半正多面体”的定义大概可以这样描述:把“正多面体”的所有顶点用一个截面截下来,剩下的部分称为“半正多面体”。举例来说,“截半立方体”是指把正方体的8个角截下来,得到的一个有6个正方形,8个三角形的几何体有了...
阅读全文
摘要:哈哈,看看这个像不像我?今天下午写了一个制作拼图照片的程序,素材是1000多张的魔兽图标。源程序下载。
阅读全文
摘要:《数学与蒙娜丽莎》是一部讲达文西传奇经历和他经典画作的有趣读物,我有幸在长庚图书馆看到了这本书。达文西,大陆翻译为达芬奇,是一位旷世奇才,他被人们喻为伟大的艺术家、物理学家、数学家、解剖学家、地质学家、化学家、设计师。为什么一个人可以同时在如此之多的领域都获得很高的成就,我一直在思考这个问题,这本书给了我一个答案。 一直以来,科学与艺术被人们认作是两个水火不容的领域。一个是理性、逻辑,左脑思维模式,另一个是感性、直觉、右脑思维模式,两个领域的思维方式不同,创作方法不同,解决问题的方式也不同。我们大部分人所从事的工作往往非此即彼,所以他们很难体会另一个领域的思维方法,就像画家会去深林老林寻...
阅读全文
摘要:人生是一场拉力赛,完成的工作就像走过的路程,工作能力就像行驶的速度。有些人的一生是匀速前进的,有些人是匀加速前进的,有些人……(这篇文章是以我目前的阅历写的,不知几年过后再看这篇文章会不会觉得自己很幼稚)速度=初速度+加速度*时间。类似的,工作能力=知识储备+学习能力*时间。我认为学习能力是这个等式里面最重要的一项,因为它是你人生的加速度,它直接决定了你今后人生的行驶方式。这也是我一直在给朋友们推荐一些思维类书籍的原因。在这里我引用刘未鹏《阅读与思考》中的一句话:“我一般把书分为两类,一类是知识的。一类是思维的。(当然,还有第三类,就是娱乐的,不作讨论:-))一般来说我更倾向于阅读培养思维..
阅读全文
摘要:Cities XL系列的最大好处就是可以满足人的创造欲,这也是为什么我深爱之的原因编了一天程序有点累了,晚上照着googlemap做了一个西直门桥,做的很简陋,辅路很多都没做,谁能找到西向南方向的路?
阅读全文
摘要:最近cipher玩的很上瘾,这个游戏超越了我以前玩过的所有解谜游戏,游戏中涉及到了大量不同领域的知识和文化。每玩过一关都会让人产生很强烈的成就感与喜悦感,同时又能学到很多新的知识,了解其它领域的文化,真是不可多得的好游戏。玩解谜游戏的好处不仅是如此,它还能够开拓人们的思维,从不同角度看待问题,同时也能训练玩家自己解决问题的能力。很多时候我们放弃解决一个问题或者一个游戏,不是因为它太难,而是因为我们自己没有坚持!在学习和研究过程中也是如此,对于一个未知的问题,在你没有解决它之前,人们在心理上更倾向于暗示自己这个问题很难。例如:“听说有好几个学长都在这门考试上挂了,它一定非常难”。事实上,这种..
阅读全文
摘要:这篇文章用来积累vs2005中的问题,把它们记录下来以方便以后的工作。对于大部分编译器的bug来说,清理重新编译,重起电脑就可以解决了。以下是我遇到过的一些问题:1.从VC6程序转到vs2005出现errors的问题:(1)、VC6中变量的作用范围是整个函数,VS2005则是在大括号内,如果遇到for(i=0; i<n; i++)变量i未定义, 直接在前面加上int即可,如for(int i=0; i<n; i++)(2)、VS2005的library与vc6有一些不同的,如fstream.h,这些问题只能自己改代码了。(3)、VS2005的函数不能不写函数类型,而这在VC6是可以
阅读全文
摘要:最近在做Adaboost的样本库,从网上下载了大量的图片,为方便读取和管理,必须把这些图片的名字规范成统一的格式。我上网查了一下,使用最多的批量改名方法是全选所有文件之后修改某一个文件的名字(如改成temp),回车,其余的文件名就自动改成了temp(1),temp(2),temp(3)(后缀省略)......但是这些括号是不被c++认可的,怎么办呢?我想到了以前清理垃圾用的dos批处理命令,隧上网细查了一下,用法如下: 首先把所有文件改成上述的文件名,然后按win + r打开运行窗口,输入cmd回车,然后进入你要改名的文件目录下。比如我的图片存在E:\positive\coronal下面...
阅读全文
摘要:前两天在网上看到了有人用matlab演奏出最炫民族风,我用了这么多年matlab还是第一次知道有这种玩法,于是把他的代码研究了一下,自己制作了一首歌曲,在这里分享一下。 首先介绍matlab函数的玩法: matlab播放音乐是由sound(Y,fs,bits)函数完成的,该函数的3个参数代表输入信号、采样率、比特率。先说采样率fs的设置,人耳能够听到的声音范围是20~20000Hz。根据采样定理fs只需要大于40000即可。此处采样率的设置采用了MP3的标准,即fs=44.1k.再说输入信号Y,Y一般是一个正弦波,如A*sin(2*pi*w*t)。其中A控制着声音的大小,w控制着声音的...
阅读全文
摘要:常用Photoshop的玩家都知道Unsharp Mask(USM)锐化,它是一种增强图像边缘的锐化算法,原理在此处,如果你想使用这个算法,强烈推荐看一下。本文进行一下简单的介绍,USM锐化一共分为三步,第一步生成原始图片src的模糊图片和高对比度图片,记为blur和contrast.第二,把src和blur作差,得到一张差分图片,记为diff,它就是下图的UnsharpMask。然后把src和contras按一定的比例相加,这个比例由diff控制,最终得到锐化图片。USM有一个缺点,锐化后最大和最小的像素值会超过原始图片,如下图红色虚线和白色实线所示。代码如下:void MyTreasu..
阅读全文
摘要:近日在人人网和新浪微博上看到北京某著名大学的数院学生会组织了一个“最美解析式大赛”,最终评选出了24幅最美解析式,这里是腾讯网的新闻报导。文中说道:“一个数学解析式可以美到什么程度?谁看谁知道!要是光看这些解析式的题目你一定晕了,满眼的sin和cos、平方和开方,但看到这些字母字符数字表达出来的解析式你就惊呆了:一串看不懂的运算,它的解析式居然是一团规则而美丽的毛线;又一个看不懂的公式,它的解析式居然是一幅抽象的宜家风图案;又一串复杂的演算,它的解析式居然是一团错综复杂的松枝球!还有可爱超萌的蜗牛、吹泡泡、七叶草、漩涡……如果你再文艺一点,也不妨给一些有才的图形取名《驿动的心》、《隐形的翅膀》
阅读全文
摘要:完整的比赛说明在这里 此处摘录一小段:双方各控制五艘船,中间有n座岛屿,初始状态为未占领状态,当一只船进入岛屿的范围内,该岛屿即被该方占领,然后整个舰队在整个地图范围上都会加血,占领的岛数越多,回血的速度就越快。当一座岛的范围内有两个舰队的船,则该岛被船数量多的一方占领,数量相同时占领权不变。只有在攻击范围内,才能攻击对方的船,有相应的伤害公式。船碰撞的时候也会有伤害。胜负规则:5分钟时间到后,完全消灭对方的舰队获胜;若没有消灭对方,则舰队总血量多的一方获胜;若总血量相同,船的数量多的一方获胜;若仍未分出胜负,占领的岛的数量多的一方获胜(岛的数量为奇数) 这是我第一次参加编程之美比赛,真的..
阅读全文
摘要:拈游戏的真正名字应该叫做NimGame,通常的Nim游戏的定义是这样的:有若干堆石子,每堆石子的数量都是有限的,合法的移动是“选择一堆石子并拿走若干颗(不能不拿)”,如果轮到某个人时所有的石子堆都已经被拿空了,则判负(因为他此刻没有任何合法的移动)。 《编程之美》有一个问题专门介绍这个游戏,为了实现
阅读全文
摘要:新手与专家在思考问题时的区别是什么?他们的思考过程是如何进行的?如果你能轻松回答这两个问题,就可以略过这篇文章了。 首先让我们先了解一下左右脑的结构,正如书中所说:“左脑(以下简称1号cpu)主要负责线性、逻辑思维和语言处理。它就像传统的冯诺依曼式的cpu,按步就班地处理指令。1号cpu相对缓慢,使用了大脑中相对较少的一部分资源。右脑(2号cpu)则不同,它更像大脑中的Google:把它想像成一个正则表达式搜索引擎,负责处理搜索和模式匹配。当你思考其它事情时,它可以去寻找搜索,然后异步地返回结果集--可能是数天之后。两个cpu共享一个内存,不能同时访问”,简单说就是,左脑负责语言、分析、...
阅读全文
摘要:cipher是一个在线解谜、闯关、很烧脑细胞的游戏,适合于推理狂,数学Geek,各类变态玩家。在享受游戏的过程中,你还可以学习到:编解码,密码学,进制转换,图像处理,基础乐理,世界地理,各地习俗,历史,希腊语。一举n得,最重要的是可以提高你使用google的水平。传送门这是一个目前很流行,,适于计算机或数学专业的人来玩,到目前为止(2011-11-28),这个游戏全世界共有37个人通关(共50关),还没有一个是中国人,也许你就是下一个~~。游戏中涉及了很多方面的知识,玩过几关以后能学到很多东西。目前我卡在了25关(更新中...),等忙完最近的程序再来好好玩这个游戏。如果你遇到了什么问题,可以到
阅读全文
摘要:一句话一幅图理解meanshift算法: 对于集合中的每一个元素,对它执行下面的操作:把该元素移动到它邻域中所有元素的特征值的均值的位置,不断重复直到收敛。 准确的说,不是真正移动元素,而是把该元素与它的收敛位置的元素标记为同一类。对于图像来说,所有元素程矩阵排列,特征值便是像素的灰度值。 Mean
阅读全文
摘要:OpenCV自带的adaboost程序能够根据用户输入的正样本集与负样本集训练分类器,常用于人脸检测,行人检测等。它的默认特征采用了Haar,不支持其它特征。Adaboost的原理简述:(原文)每个Haar特征对应看一个弱分类器,但并不是任伺一个Haar特征都能较好的描述人脸灰度分布的某一特点,如何从大量的Haar特征中挑选出最优的Haar特征并制作成分类器用于人脸检测,这是AdaBoost算法训练过程所要解决的关键问题。Paul Viola和Michael Jones于2001年将Adaboost算法应用于人脸检测中,其基本思想是针对不同的训练集训练同一个分类器(弱分类器),然后把这些不..
阅读全文
摘要:我一直很佩服那些专业电子竞技运动员,也一直很喜欢China_TTTT,他们是如何能够兼顾正面战场的决战,同时到对方家里三线偷袭?这种多线程操作对于初学者来说简直就是噩梦,但是对于专业人员来说,它却和单线程操作是差不多的。假设你现在有两个任务要完成,一是完成一个客户交给你的程序任务,二是为参加WCG而苦练dota, 先来看看你喜欢下面的哪一种工作方式: 1.今天我要把这个程序编出来,然后你从早到晚一直忙于编程,因为把精力集中于一件事情上是效率最高的方法,然后在第一天晚上你终于把客户的任务完成了。第二天又练习了一天dota, 然后顺利拿到WCG总冠军。 2. 编一天的程序太累了,我每完成程...
阅读全文
摘要:本博客的前身是http://blog.sina.com.cn/u/2385866262。我终于忍受不了新浪博客,遂决定搬家到此。以前的文章我会陆续搬过来,风格和以前一样,我会继续写一些图像处理与模式识别的内容,有时也会写一些个人爱好与读书心得。 为什么是easymind223?这个域名已经是我的一个习惯了。熟悉我的朋友都知道,我的域名和昵称一直亘古不变,无论什么论坛和游戏,我也没有遇到过和我重名的ID。起名为easymind223的理由有两个,第一个同matrix67一样,easymind被别人用过了,于是在后面随便加了3个数字,人的下意识反应是在后面加个123或者456,所以为了不和别...
阅读全文

浙公网安备 33010602011771号