我用CV我自豪。

———————————————————————————————————CTRL+V,我能。...

年龄计算器,如何算出20年后的你?(以及秃头计算器)

年龄计算器,如何算出20年后的你?

发布时间:2011-12-16       来源:cfan       点击量:71 我要评论

近来,有一个名为年龄计算器的网站在网友中流传,它能预测一个人20年后的相貌。打开http://in20years.com,点击Upload Your Photo(上传照片)按钮上传你(或朋友)的脸部照片,就可以看到20后的模样了(见图1)。

      

   

看起来有些神奇,它究意是基于什么样的原理来计算的呢?其实随着人的年龄增长,一些生理体征就会产生变化。比如,毛孔变得粗大,出现眼袋,法令纹变得明显,肤色变黑等等。而所谓的年龄计算器,就是首先在人物照片的脸部找出相应位置,然后添加上对应的生理特征。比如添加法令纹,程序首先找出鼻翼两侧和嘴角的位置,再在这两点之间勾画出沟状灰线即可。

小知识
★为什么有些人看起来要比实际的年龄大很多?其实正是这些生理体征捣的鬼。你不妨对照下表计算一下,是哪些体征让你显老。
生理体征 年龄增减(岁)
毛孔粗大 +3
法令纹下垂 +7
鱼尾纹  +5
眼袋  +3
牙龈萎缩 +10
指甲厚黄 +5
手背青筋暴露 +7

首先要解决的是定位问题,这通过人脸识别技术即可办到。它的原理说起来相当简单,主要是通过颜色的相似程度来判断,比如黑色的眼睛、红色的嘴唇,很容易被识别出来。大家知道,图片的每个像素是由RGB三色混合而成,通过对像素的颜色值进行计算就能判断出是什么色彩(比如#ffff00和#fff100都是近似黄色)。

图2:图片是由像素构成,像素颜色由RGB三色混合

程序中的人脸识别,涉及到计算机图形学中一些非常复杂的计算,不过程序员们倒不用太担心,开源程序库OpenCV(Open Computer Vision,http://sourceforge.net/projects/opencvlibrary)提供了很多功能,调用即可。
通过人脸识别确定位置之后就好办了,对脸部特定区域的像素进行处理,比如将脸部皮肤变黑,眼睛下面添加眼袋,鼻翼两侧和嘴角之间添加法令纹等。其实除了程序自动运算,我们手工也能达成这样的效果。如图3所示,就是我在Photoshop中,仿照in20years网站的效果,手工制作的:通过加深工具(快捷键为O),将皮肤变黑,再勾画出眼袋、法令纹等,是不是一下子老了20岁?只不过这个工作,在in20years网站中是由程序自动完成罢了。

网终大补贴
具体的程序实现原理,不是一两篇文章能讲清的。想进一步了解的朋友,可以参看更多的相关文献。下面推荐一部分。
★利用OpenCV实现人脸检测:
网址:http://tinyurl.com/2cg36cp
★基于OpenCV的人脸检测算法研究:
网址:http://tinyurl.com/29kr2b5
★VC编程实现数字图像的边缘检测
网址:http://www.docin.com/p-32588863.html
★肤色模型的面部肤色区域提取
网址:http://tinyurl.com/26qqecm


小趣闻:另类的秃头计算器
秃头计算器,可以预测男士变成秃头的具体年龄(或者确定他们到老仍会头发浓密)。这个德国科学家首创的,据称能准确预测男性会否脱发的计算机程序,使得全球各国的男士趋之若鹜。
打开http://www.alpecin.com/en/balding-calculator/index.php,点击Start(开始),然后根据向导提示回答使用者的年龄、每天掉发情况、现时发线位置(见图4)、职业、心理压力等10个问题,最后计算出你秃头的时间。当然,诚如该软件作者所说:秃头计算器的主要目的,还是为了提醒男同胞对秃头问题引起注意。

阅读更多
个人分类: 非iPhone
上一篇主题:人脸检测原理及示例(OpenCV+Python)
下一篇OpenCV人脸检测的速度
想对作者说点什么? 我来说一句

最新html源码年龄计算器

2009年12月30日 3KB 下载

VC VS2005年龄计算器

2012年03月21日 163KB 下载

最方便好用的余数计算器

2011年08月14日 18KB 下载

VB年龄计算器

2014年04月16日 6KB 下载

ios版本年龄计算器

2013年10月21日 67KB 下载

android阴历阳历年龄计算器

2018年06月19日 300KB 下载

没有更多推荐了,返回首页

关闭
关闭