Ⅰ 基于matlab的毕业设计,车牌倾斜校正和人脸识别系统设计哪个难一些
人脸识别更难
Ⅱ 求:用Matlab实现人脸识别的完整程序。最好带有图片库。
我是用vc实现的,想要的话给我发电邮,[email protected],调试可以运行,不过不稳定。你还真是淡定啊,到这个节骨眼才来要毕业设计的程序,都要答辩了吧。
Ⅲ 毕业设计 基于matlab的人脸检测 彩色图像进行肤色分割分离出肤色区域后,怎么检测出肤色中的人脸啊
;
I=imread('E:\matlab\11.jpg'); %输入图像
O=rgb2ntsc(I);
G=O(:,:,2);
[m n]=size(G);
U=zeros(m,n);
for i=1:m
for j=1:n
if G(i,j)>0.03&&G(i,j)<0.16
U(i,j)=1;
end
end
end
sr=strel('disk',6);
C=imclose(U,sr);
L=bwlabel(C);
B=regionprops(L,'area');
Se=[B.Area];Sm=max(Se);
if Sm>m*n/27
B1=bwareaopen(C,Sm);
k_y1=m;k2=m;l2=n;
for i=1:m
if any(B1(i,:))==1
k_y1=i;
break
end
end
for i=k_y1:m
if B1(i,:)==0
k2=i;
break
end
end
for j=1:n
if any(B1(:,j))==1
l_y1=j;
break
end
end
for j=l_y1:n
if B1(:,j)==0
l2=j;
break
end
end
k_y=k2-k_y1;
l=l2-l_y1;
if k_y>.5*l&&k_y<3*l
I1=imcrop(B1,[l_y1 k_y1 l .4*k_y]);
[n1 m1]=size(I1);
L1=bwlabel(I1);
E=regionprops(L1,'area');
Si=[E.Area];
Sm=max(Si);
if Sm/(n1*m1)>.3
B2=bwareaopen(I1,floor(.5*Sm));
g_y1=m1;g2=m1;
for j=1:m1
if any(B2(:,j))==1
g_y1=j;
break
end
end
for j=g_y1:m1
if B2(:,j)==0;
g2=j;break
end
end
g=g2-g_y1;
figure;imshow(I);
hold on
h1=line([l_y1+g_y1,l_y1+g_y1+g],[k_y1,k_y1]);
h2=line([l_y1+g_y1+g,l_y1+g_y1+g],[k_y1,k_y1+1.1*g]);
h3=line([l_y1+g_y1+g,l_y1+g_y1],[k_y1+1.1*g,k_y1+1.1*g]);
h4=line([l_y1+g_y1,l_y1+g_y1],[k_y1+1.1*g,k_y1]);
h=[h1 h2 h3 h4];
set(h,'Color',[1 0 0],'LineWidth',2);
else
figure;imshow(I);
end
else
figure;imshow(I);
end
else
figure;imshow(I);
end
给分!
Ⅳ 基于matlab的人脸识别系统设计难做吗
基于matlab的人脸识别系统设计哪方面的内容?我可以帮忙
Ⅳ 基于matlab简单的特征脸的人脸识别程序
这是我写的程序,参照《模式识别》张学工第9章。
a1=imread('a1.jpg');
a2=imread('a2.jpg');
b1=imread('b1.jpg');
b2=imread('b2.jpg');
a1=rgb2gray(a1);
a2=rgb2gray(a2);
b1=rgb2gray(b1);
b2=rgb2gray(b2);
figure,imshow(a1)
figure,imshow(a2)
figure,imshow(b1)
figure,imshow(b2)
a1=double(a1);
a2=double(a2);
b1=double(b1);
b2=double(b2);
a1_lie=a1(:);
a2_lie=a2(:);
b1_lie=b1(:);
b2_lie=b2(:);
c=cat(1,a1_lie',a2_lie',b1_lie',b2_lie');
c_mean=mean(c);
X=[a1_lie-c_mean',a2_lie-c_mean',b1_lie-c_mean',b2_lie-c_mean'];
R=X'*X; % R是4×4的矩阵
[p,q]=eig(R);
u=diag(q); % u是4×1的列向量
u=flipud(u); % flipud(u)实现矩阵的上下翻转, u是4×1的列向量
v=fliplr(p); % fliplr(p)实现矩阵的左右翻转,v是4×4的矩阵
e=zeros(36000,4);
for m=1:3
e(:,m)=X*v(:,m)./(u(m)^(-0.5)); % 参见《模式识别》P226公式9-18
end
p1=zeros(200,180);
p2=zeros(200,180);
p3=zeros(200,180);
for m=1:36000
p1(m)=e(m);
p2(m)=e(m+36000);
p3(m)=e(m+72000);
end
p1=mat2gray(p1);
p2=mat2gray(p2);
p3=mat2gray(p3);
figure,imshow(p1) % 显示第1特征脸
figure,imshow(p2) % 显示第2特征脸
figure,imshow(p3) % 显示第3特征脸
new=c*e(:,1:3); %分别计算4个训练样本分别在第1、第2、第3、特征脸上的投影
p1=imread('p_test1.jpg'); %读入一个测试样本
p1=rgb2gray(p1);
figure,imshow(p1);
p2=double(p1(:));
test=p2'*e(:,1:3);%计算测试样本在3个特征脸上的投影
error=zeros(4,1);
for m=1:4
error(m)=norm((new(m,:)-test));
end
[distence,index]=sort(error); %将列向量error中的数据按从小到大排列
if index(1)==1
result=1;
elseif index(1)==2
result=1;
elseif index(1)==3
result=2;
elseif index(1)==4
result=2;
end
result %result为1时表示测试样本属于第1个人,为2时表示测试样本属于第2个人
Ⅵ 急!!!跪求用MATLAB实现基于主成分分析法的人脸识别系统的算法
Clustering by Passing Messages Between Data Points
Brendan J. Frey* and Delbert Dueck
science上的一篇人脸识别聚类的文章,但好象不是主成分分析。
Ⅶ 做人脸识别的本科毕业设计,能不能推荐几本
人脸识别的,可用MATLAB软件的;。
Ⅷ 急用MATLAB进行人脸识别的算法修改和解释
哎,看在100分的面子上。。。。
images=[];%([]是什么意思?)
这个只不过是将images初始化为一个空矩阵而已。每度一幅图像,它都将这幅图像reshape成一个列向量,然后存入images中,最终,读了N幅图像,images就有N列,每一列都是一幅图像。
(原算法是有两种方法求特征向量,一种奇异值分解,另一种不用奇异值分解,我这里选用没有用奇异值分解方法,但为什么还是按照奇异值分解了,而且莫名出现一个S的变量,而且这段的公式我不理解)
这个问题是你人脸识别的算法问题,我不想研究。。。。
c=ceil(M/r);%正无穷大方向取整(M/r是什么意思?为什么要这么做)
这个为什么要这么做,是为了后面subplot画图来计算到底需要几行几列的。这个对你的程序没有任何本质的影响。这段程序就是为了把所有的人脸图在一幅图上分块显示出来。从subplot(r,c,ii);
这句可以看出,r子图像的是行数,c是列数。那么M就是图像数了。。。
colormap('gray');axis equal tight off;%返回线性灰度色图(这段不理解)
这段是一系列画图参数的操作: colormap('gray');是让你的图是灰度图。axis equal是让横纵坐标单位一致。tight是限制画图的取值范围。off是去掉坐标显示。这些都是控制显示效果的。完全无关紧要。至于具体效果,你可以把这句去掉看看显示效果,然后在加上这句再看看效果有什么变化就知道了。
%对于其他人脸图;按前面计算出的特征向量重构人脸图像(这段是说什么?)
很明显的,这个是用你这次这20个训练样本的结果来重构以前的人脸数据。
基本就是这么回事了。但是人脸特征识别我没研究过,你这个程序的算法非常的简单,至于为什么通过几个特征值分析就好用那我就不知道了,因为我没研究过这个。
Ⅸ 本人正在做基于深度学习的人脸识别毕业设计,但不知道怎样调用相关MATLAB程序代码。
人脸识别毕业设计有啊,你要干嘛,给你参考.