社区
C++ Builder
帖子详情
请做过‘人脸识别’的高手进来讨论
laishishenghust
2003-08-19 09:50:55
主要是做两张相片(人相)的识别,比如一张两寸的照片,用高分辨率打印机打印出来,再用高分辨率的扫描仪扫描得到的图像进行比较(主要是检查打印的照片是否正确,比如张三的卡片是否打印的是张三的照片)
...全文
44
12
打赏
收藏
请做过‘人脸识别’的高手进来讨论
主要是做两张相片(人相)的识别,比如一张两寸的照片,用高分辨率打印机打印出来,再用高分辨率的扫描仪扫描得到的图像进行比较(主要是检查打印的照片是否正确,比如张三的卡片是否打印的是张三的照片)
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wudang
2003-09-12
打赏
举报
回复
编成实现识别黄色图象,是不是找露三点的特征?hf
ccrun.com
2003-09-11
打赏
举报
回复
不是曾经有人发帖说做出来能识别黄色图象的吗?道理应该差不多吧。
xiaozhen666
2003-09-11
打赏
举报
回复
用求质心距和质心偏角的的方法,源代码如下:
double * __fastcall TForm1::FeatureExtract(Graphics::TBitmap *pBitmap,AnsiString S_FileName)
{
double GlobalCentroidX,GlobalCentroidY,PrintCentroid,PrintCentroidX,PrintCentroidY,tempX,tempY,temp;
double corner,hypotenuse,arc;
GlobalCentroidX = double(pBitmap->Width)/2.0;
GlobalCentroidY = double(pBitmap->Height)/2.0;
PrintCentroid = PrintCentroidX = PrintCentroidY = tempX = tempY = 0.0;
int i,j;
byte *ptr;
for(i=0;i<pBitmap->Height;i++)
{
ptr = (byte *)pBitmap->ScanLine[i];
for(j=0;j<pBitmap->Width*3;j+=3)
{
if(ptr[j] == 0)
temp = 1;
else
temp = 0;
PrintCentroid += temp;
tempX +=(double)j*temp;
tempY +=(double)i*temp;
}
}
PrintCentroidX = tempX/PrintCentroid;
PrintCentroidY = tempY/PrintCentroid;
hypotenuse = sqrt((PrintCentroidX-GlobalCentroidX)*(PrintCentroidX-GlobalCentroidX)
+(PrintCentroidY-GlobalCentroidY)*(PrintCentroidY-GlobalCentroidY));
corner = asin(fabs(PrintCentroidY-GlobalCentroidY)/hypotenuse);
if(GlobalCentroidX < PrintCentroidX && GlobalCentroidY < PrintCentroidY)
corner += PI/2.0;
if(GlobalCentroidX < PrintCentroidX && GlobalCentroidY > PrintCentroidY)
corner += PI;
if(GlobalCentroidX > PrintCentroidX && GlobalCentroidY > PrintCentroidY)
corner += 1.5*PI;
arc = corner*180.0/PI;
AnsiString str;
str = "质心距:"+FloatToStr(hypotenuse);
str = str + " 质心坐标";
str = str + " X=" + FloatToStr(PrintCentroidX)+ " ";
str = str + " Y=" + FloatToStr(PrintCentroidY)+ " ";
str = str + " 角度= " + FloatToStr(arc)+" ";
str = str + "\n";
FILE *iFileHandle;
iFileHandle = fopen("c:\\DemoData\\data.dat", "a");
fwrite(S_FileName.c_str(),S_FileName.Length(),1,iFileHandle);
fwrite("\n",1,1,iFileHandle);
fwrite(str.c_str(),str.Length(),1,iFileHandle);
fclose(iFileHandle);
return_arc[0] = hypotenuse;
return_arc[1] = arc;
return(return_arc);
}
grouse
2003-09-03
打赏
举报
回复
楼上的技术听说过,具体实现方式就是...........
..................找一个人来认 :)
小笨象
2003-09-03
打赏
举报
回复
呵呵呵。今天才看新闻,说中国已经开发出了一种比别的都先进的‘人脸识别’技术。
所以你就不用忙了。找他们去问问吧。好象是中科院的。
chenpeng20000
2003-08-25
打赏
举报
回复
我认为“比如眼睛的宽度,眼睛离嘴巴的距离等等”,这种绝对距离没有太大意义,要看要看它们在整个脸中所占的相对距离才有意义,如眼睛宽度占整个眼睛这条直线段上的比例等等
sprewellkobe
2003-08-25
打赏
举报
回复
没做过,但对这感兴趣
顶!
g677
2003-08-25
打赏
举报
回复
这种人脸识别应该不是太难的,因为打出来,再扫进去的图片与原图片变化应该很小(除非打印机和扫描仪有问题),所以特征丢失得也应该比较小。
关键是找特征,就像potlee(potlee)所说的“比如眼睛的宽度,眼睛离嘴巴的距离等等”,包括器官的重心特征,这是几何特征,我觉得也可以考虑色彩特征(用灰度,打印机打的,彩色可能会有影响),如灰度直方图等等
oldcold
2003-08-20
打赏
举报
回复
gz
chenpeng20000
2003-08-20
打赏
举报
回复
这个太复杂了,找些论文看看吧
zhrmghg11
2003-08-20
打赏
举报
回复
只要可以找出每个人的脸部的特征模型,就好办了
potlee
2003-08-20
打赏
举报
回复
我没有做过这样的项目,但我知道指纹识别是用了指纹的特征识别的,指纹上有许多线条和分叉,所谓指纹的唯一性也就是这些线条和分叉不同,系统把两个指纹图片的分叉点找出来,比照,这就是指纹识别的原理了,当然要想做的成熟点还有不少工作要做。
楼主所说的人脸识别,我想也是这个原理吧,把照片扫进电脑,再把照片的大小调整成一样大,在照片里提取出能表现出人脸的特征点,比如眼睛的宽度,眼睛离嘴巴的距离等等,进行识别吧,不知道大家意见如何?
人脸识别
原理与实战
人脸识别
是一种基于人的面部特征信息进行身份认证的生物特征识别技术。本课程旨在帮助学习者理解
人脸识别
的原理,并掌握相关的开发工具和搭建流程与方法。 通过学习本课程,你将能够: 理解
人脸识别
的原理,包括其...
人脸识别
PCA LDA等方法的一些
讨论
Eigenfaces与fisherfaces可以说是
人脸识别
领域的经典基准算法了,不高明白真是无法说
做
过
人脸识别
。国内论文多如牛毛,但大多千篇一律,言之无物。建议看作者的原文。 对于PCA与LDA的推导建议仔细看一遍(主要是用...
人脸识别
方法个人见解
==================================dodo:
人脸识别
方法个人见解(之一)看到j.liu关于
人脸识别
的帖子,萌发写这个帖子的念头。没有别的意思,就是想抛砖引玉,把问题说的全面一点,希望j.liu和回其帖子的兄弟姐妹们...
人脸识别
方法(转载)
HUNNISH 注:从师弟的网站 ... ================================== dodo:
人脸识别
方法个人见解(之一) 看到j.liu关于
人脸识别
的帖子,萌发写这个帖子的念头。没有别的意思,
人脸识别
HUNNISH 注:从师弟的网站 www.prfans.com 看到了DODO先生所写的“
人脸识别
方法之个人见解”,感觉收益非浅。本文颇有高屋建瓴的意味,因此在没有经过作者本人的同意下,贸然转载于此,希望读到本文的同仁能够在PR...
C++ Builder
13,824
社区成员
102,679
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章