人脸编程
Ⅰ 人脸识别,人脸颜值预测在编程方面都要研究哪些技术,或参考什么参考书 多谢
开源的人脸识别是源码,不是软件,目前开源的人脸识别就只有OPENCV,你有编程经验的话
Ⅱ 有没有C++语言编程的人脸识别好用的二次开发SDK
有,云脉人脸识别sdk一次二次定制开发,支持多种开发语言,如API开发支持Java、C++、C、object pascal及objective-C等多种语言
Ⅲ 人脸识别中,如何用MATLAB编程将许多人脸图像一次读入,并且每一列代表一幅图像,谢谢
假设图像名为:Face001.tif, Face002.tif, Face003.tif ...
N 为总图像数
你是指将二维图像压缩成一列来表示?图像是灰度图还是彩色图?
大致如下:
Temp = [];
for i = 1:N
fileName = sprintf('Face00%d.tif', i);
I = imread(fileName);
Temp = [Temp; I(:)];
end
Ⅳ 编程 人脸检测以及表情识别 像matlab以及OpenGL等语言进行编程。
matlab也很简单啊。而且网上有不少相关的代码。
入门快,再看看几个例子,估计就差不多了
Ⅳ 人脸识别与指纹开琐需要哪语言编程
你说的这几个里面,模式识别的概念最大,而后面两个都是模式识别中的两个案例(或者应用方向),实质上都属于图像识别,图像识别是模式识别的一种。 要学这个难度蛮大的,因为图像识别直到现在都属于比较新的方向,有大量问题没有解决,学这个方面不需要你懂绘画,但必须懂程序设计特别是高级语言设计(比如C,C++等等),另外对数字信号处理,高等数学以及物理等方面也要有相当了解,基本上要达到学术型硕士研究生的水平才行。
Ⅵ 急求一段用matlab编程的BP神经网络的人脸识别程序 可以运行的 急用啊 谢谢各位大哥了
function []=TwoDPCA
%%%%%%%%%%%%%特征脸显示已正确,训练与测试没有分开。
% Face recognition
clear all
close all
clc
M=200;%%%%
train=5;%%%表示同一个人有几张相片。
eignum=3;%%%选取的特征个数。
cel=cell(1,M);
cellafter=cell(1,M);
tt=clock;
S=[];
ii=1;
str=strcat('E:\三维人脸\2dfacedatabase\ORL\s1\1.pgm');
img=imread(str);
[ia ib]=size(img);
sum=zeros(ia,ib);
B=zeros(ia,ib);
for i=1:40
for j=1:5
str=strcat('E:\三维人脸\2dfacedatabase\ORL\s',int2str(i),'\',int2str(j),'.pgm');
eval('img=imread(str);');
sum=double(sum)+double(img);
cel{1,ii}=img;
ii=ii+1;
end
end
meanA=sum/M;
cov=zeros(ib);
for i=1:M
img=cel{1,i};
B=double(img)-double(meanA);
temp=B'*B;
cov=double(cov)+double(temp);
end
[vv dd]=eig(cov);
num2=size(vv);
% Sort and eliminate those whose eigenvalue is zero
v=[];
d=[];
for i=1:size(vv,2)
if(dd(i,i)>1e-4)
v=[v vv(:,i)];
d=[d dd(i,i)];
end
end
num1=size(v,2);
%sort, will return an ascending sequence
[B index]=sort(d);
ind=zeros(size(index));
dtemp=zeros(size(index));
vtemp=zeros(size(v));
len=length(index);
for i=1:len
dtemp(i)=B(len+1-i);
ind(i)=len+1-index(i);
vtemp(:,ind(i))=v(:,i);
end
d=dtemp;
v=vtemp;
imgafter=[];
for i=1:M
for j=1:eignum
img=cel{1,i};
temp1=double(img)*double(v(:,j));
imgafter=[imgafter temp1];
end
cellafter{1,i}=imgafter;
imgafter=[];
end
timeconsume=etime(clock,tt);
testimg=M/train;
findimgnum=train;
suc=0;
% figure(5);
for k=1:testimg
InputImage =imread(strcat('E:\三维人脸\2dfacedatabase\ORL\s',int2str(k),'\10.pgm'));
testafter=[];
for j=1:eignum
temp=double(InputImage)*double(v(:,j));
testafter=[testafter temp];
end
% Find Euclidean distance
e=[];
for i=1:M
tempA=double(testafter)-double(cellafter{1,i});
total=0;
for j=1:eignum
aa=norm(tempA(:,j));
total=total+aa;
end
e=[e total];
end
[C index]=sort(e);
min=index(1);
%%%%%%%计算正确率
testingroup=floor((min-1)/train)+1; %%计算要测试的图像所在的组
if testingroup==k
suc=suc+1;
else
fprintf('%d.jpg fails to match!\n',k);
end
% %%%%%%%%%%%%%%%%%%%显示所有找到的与测试图像为同一个人的图片(可)。(显示所有与测试图片最小距离的那组,而不是比较出来的最小的5个)
% subplot(testimg,findimgnum+1,(k-1)*(findimgnum+1)+1);% subplot(行数,列数,放图像位置的序数)
% imshow(InputImage);
%
% for i=1:findimgnum
% temppos=(testingroup-1)*train+i;
% str=strcat('E:\三维人脸\testpic\orl\',int2str(temppos),'.pgm'); %concatenates two strings that form the name of the image
% eval('img1=imread(str);');
% subplot(testimg,findimgnum+1,(k-1)*(findimgnum+1)+i+1)
% imshow(img1)
% drawnow;
% end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
end
sucrate=suc/M*train*100;
fprintf('%2.1f%% matched successfully!\n',sucrate)
fprintf('it takes %3.2f S\n',timeconsume)
Ⅶ 手机编程猫怎么弄人脸识别
方法/步骤
1
打开编程猫手机客户端编程猫nemo,出现如图所示界面,界面上会显示系统带的示例程序以及我们近期制作的一些程序,点击屏幕下方的创作进行编程设计。
Ⅷ 彩色人脸图像识别MATLAB编程
1.识别静态的整个人体较难;即使识别出来结果也不可靠,所以现在主要以手势/人脸识别为主;这是因为手和脸上面有比较独特的特征点。你说的滤波归根结底还是要找出具有灰度跳变的高频部分作为人体;这除非背景中除了人以外没有其他突出的物体;否则光凭滤波二值法检测人体是不太现实。
2 两张图片中人要是产生相对运动,检测起来就容易多了;利用帧间差分找到图像中灰度相差大的部分(你用的滤波也是一种手段);然后二值化区域连通;要是图像中没有其他移动物体计算连通区域的变动方向就是人的运动方向。
你可以去PUDN上搜搜相关的目标检测的代码;完全和你这个对应是不可能的。照你说的情况可以先建立起静态背景的模型(或者直接在没人的时候拍张);然后不断的与这个背景做差,原理和帧间差分一样。建议你先从典型的帧间差分例程开始下手(比如移动车辆的检测,这个比较多)。
你在二值化之后加上一个区域连通的步骤;即使用膨胀或者闭运算;这样你的轮廓就是连续的了;用matlab的话bwlabel可以统计连通区域里面像素的个数也就是人体面积大小。质心就是横竖坐标的平均值;取所有人体点的横竖坐标分别累加;除以坐标总数得到的x和y平均值;这个就是质心了