Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2010-05-04, 14:36   #1
wuyiliwenjie
初级会员
 
注册日期: 2010-04-21
年龄: 37
帖子: 1
声望力: 0
wuyiliwenjie 正向着好的方向发展
默认 matlab人脸检测,高手,大侠,为什么我的这段程序有什么不妥的吗,请指点下

这是我根据一本书叙述的人脸检测的方法写的一段程序,是对肤色部分先进行标记,
步骤如下,第一步是把图像的RGB转换成rgb,其转换的式子如下所示,
r=R./(R+G+B);
b=B./(R+G+B);
g=G./(R+G+B);
Q1,Q2,W1。r,g是肤色的约束条件,以下是我编的程序对肤色部分进行标识1其他标识0,希望高手指点一下
Im=imread('d:\1215.jpg');
R=Im(:,:,1);
G=Im(:,:,2);
B=Im(:,:,3);
R=double(R);
G=double(G);
B=double(B);

C=imadd(R,G);
D=imadd(C,B);
r=R./D;
b=B./D;
g=G./D;
Q1=-1.3767.*r.*r+1.0743.*r+0.1452;
Q2=-0.776.*r.*r+0.5601.*r+0.1766;
W=(r-0.33).*(r-0.33)+(g-0.33).*(g-0.33);
[n,m]=size(r);
for i=1:n

for j=1:m

if((r(i,j)>0.2&r(i,j)<0.6)& (g(i,j)<Q1(i,j))&(g(i,j)>Q2(i,j))&(W(i,j)>0.004))


Im(i,j)=1;

else
Im(i,j)=0;

end

end

end
我感觉不对劲的是,size(Im),是796 550 3 而size(R)或者size(r)为什么是796 550,呢。。大家能解释下吗?
wuyiliwenjie 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 21:30


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.