参数说明:
IplImage *workImg-当前全局变量,表示正在显示的图片。
downleft, upright- 检测出的阴影部分矩形框的两个对角顶点。
/*********************************************/
//阴影检测
/*********************************************/
CvPoint downleft,upright;
int cnt;
int dir[8][2]={-1,-1,-1,0,-1,1,0,1,0,-1,1,1,1,0,1,-1};
#define SHADOW 170
#define Thres_KindNumber 20
bool InRange(CvPoint point,IplImage* pi)
{
int w=pi->width;
int h=pi->height;
if(point.x>=0&&point.x<w&&point.y>=0&&point.y<h)
{
float v[3];
for(i=0;i<3;i++)
{
v[i]=((uchar*)(pi->imageData + pi->widthStep*point.y))[point.x*3+i];
if(v[i]<=SHADOW)
return true;
}
}
return false;
}
void Dye(IplImage** curimg,CvPoint s)
{
int i;
queue<CvPoint>Q;
Q.push(s);
for(i=0;i<3;i++)
((uchar*)((*curimg)->imageData + (*curimg)->widthS