TODO:
(1) 昨天做了什麼?
找尋以前學長姊的作品
(2) 今天要做什麼?
繼續利用顏色區塊來判斷手部的位置
另外google看看有沒有其他解決方案
(3) 會遇到什麼問題?
還是一直找不到想要的區塊該怎麼辦!
今日成果:
仍然只找的到灰色會白色的色階
但不能正確地找出灰色或白色
在網路上找到一個有關提取顏色的程式碼
double num,den;
double Thita,H,S,I,minRGB;
num=(2*s.val[2]-s.val[1]-s.val[0])/2.0;
den=sqrt((s.val[2]-s.val[1])*(s.val[2]-s.val[1])+(s.val[2]-s.val[0])*(s.val[1]-s.val[0]));
Thita=acos(num/den);
minRGB=_min(_min(s.val[2],s.val[1]),s.val[0]);
S = 1-3.0*minRGB/(s.val[2]+s.val[1]+s.val[0]); //这些是RGB转为HSI的公式
I = (1/3.0)*(s.val[0]+s.val[1]+s.val[2]);
if(s.val[1]>=s.val[0])
{
H = Thita;
}
else
H = 2*PI-Thita;
if (((H>=PI/4)&&(H<=PI/2))&&(S>0.
{
sBuf.val[0]=sBuf.val[1]=sBuf.val[2]=255;//我要的颜色变成黑色
cvSet2D(img,i,j,sBuf);
}
else
sBuf.val[0]=sBuf.val[1]=sBuf.val[2]=0;//不是我要的颜色变成白色
cvSet2D(img,i,j,sBuf);
}
}
cvCopy(img,biimg);
cvSaveImage( image_name, img); //保存一帧图片
cvNamedWindow("image_name");
cvShowImage("image_name",img);

沒有留言:
張貼留言