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

转载 2012年03月25日 18:13:01

年龄计算器,如何算出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个问题,最后计算出你秃头的时间。当然,诚如该软件作者所说:秃头计算器的主要目的,还是为了提醒男同胞对秃头问题引起注意。

android 通过datepicker计算年龄

界面如下,凑合看吧 点击选择年龄的按钮时弹出datepicker日历选择器 在日历选择器上选中您的年龄点击完成 activity_main.xml的代码如...
  • rosener
  • rosener
  • 2016年09月06日 09:45
  • 1355

Java 根据年月日精确计算年龄

虽说网上好多根据年月日计算年龄的,但是有的是粗略计算年龄,有的就没有防护未来的日期,以至于年龄存在负数的情况。 so,自己动手丰衣足食,写了以下工具类: package com.jglz.qing.a...
  • qq_33237207
  • qq_33237207
  • 2017年03月28日 14:42
  • 4665

Java 计算时间差之年龄问题

年月日天数计算。
  • wenbitianxiafeng
  • wenbitianxiafeng
  • 2015年05月19日 15:23
  • 2372

按揭贷款计算器(EXCEL,可精确算出需还款年限)

  • 2010年06月29日 11:35
  • 185KB
  • 下载

模仿iphone(wheelView)实现日期算出年龄和星座

  • 2016年05月24日 16:03
  • 1.64MB
  • 下载

android第一个项目-计算你的生存日子之年龄计算器

寒假在家,想着自学安卓也有几个月了,那些效率高的都不知道开发出几个app 而自己却依旧停留在照着《第一行代码》练手的阶段,想着也是时候开始搞一个真正的项目,然后在网上看到一个计算你在这个世界上生存了多...
  • sinat_21112393
  • sinat_21112393
  • 2016年02月27日 00:43
  • 291

年龄计算器php实现

新建index.php文件,实现表单的设计,如下图所示: 年龄计算器 出生年份: 出生月份: 出生天数: 然后创建一个date.php,用于计算年龄,如图所示: ...
  • xiaofang3a
  • xiaofang3a
  • 2014年12月13日 22:01
  • 362

VC VS2005年龄计算器

  • 2012年03月21日 08:41
  • 163KB
  • 下载

ios版本年龄计算器

  • 2013年10月21日 17:21
  • 67KB
  • 下载

设计模式之工厂模式结合单例模式C++计算器代码DEMO(历史代码,贴出学习)

// OperationBase.h #pragma once #include #include using namespace std; class COperationBase { p...
  • bjtbjt
  • bjtbjt
  • 2014年07月22日 10:50
  • 5231
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:年龄计算器,如何算出20年后的你?(以及秃头计算器)
举报原因:
原因补充:

(最多只允许输入30个字)